![mount.ntfs замедляет компьютер, не занимая процессор, показывая «спящий режим диска»](https://rvso.com/image/1618327/mount.ntfs%20%D0%B7%D0%B0%D0%BC%D0%B5%D0%B4%D0%BB%D1%8F%D0%B5%D1%82%20%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%2C%20%D0%BD%D0%B5%20%D0%B7%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%8F%20%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%2C%20%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D1%8F%20%C2%AB%D1%81%D0%BF%D1%8F%D1%89%D0%B8%D0%B9%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%20%D0%B4%D0%B8%D1%81%D0%BA%D0%B0%C2%BB.png)
У меня в файловой системе смонтировано два раздела NTFS. На одном из них размещены мои проекты, поэтому это очень важно.
Время от времени мой компьютер становится вялым, иногда почти зависающим. Я заметил, что всякий раз, когда это происходит, процесс mount.ntfs
показываетdisk sleep
в столбце ЦП системного монитора ksysguard (см. снимок экрана ниже).
Примечательно, что в таких ситуациях памятьнетзаканчивается, и процессорынетработает на полную мощность.
Каковы возможные объяснения этого и как это исправить?
Я использую Kubuntu 19.04, 64-бит.
решение1
В некотором смысле, «спящий режим диска» — это непричиназамедления, это всего лишь симптом.
Прямо сейчас процесс не делает ничего, кроме ожидания ответа на запрос чтения/записи диска. Так что если диск слишком долго отвечает,любойПроцесс, пытающийся выполнить чтение или запись, перейдет в состояние «спящего диска» или «ожидания ввода-вывода» до завершения операции.
Полагаю, система работает медленно, потому что многие из ваших программ просто пытаются прочитать файлы с вашего раздела NTFS, поэтому, естественно, они будут ждать восстановления mount.ntfs, а сам mount.ntfs не может обслуживать эти запросы на доступ, поскольку он ждет восстановления вашего жесткого диска.
Причин может быть несколько:
Естьмногочтения или записи на диске (для этого физического диска в целом; не обязательно для этого конкретного раздела). Чтобы определить, является ли это причиной, начните с:
iotop
илиiotop -Pao
для просмотра отдельных программ, выполняющих в данный момент ввод-вывод;iostat -h 1
чтобы сообщить ообщийСкорость ввода-вывода для каждого физического устройства хранения данных.
Диск занят попытками прочитать поврежденную область. (Иногда на жестких дисках появляются поврежденные сектора — иногда сектор можно прочитать только после дюжины попыток; иногда он вообще нечитаем, но нужно подождать, пока жесткий диск прекратит попытки.)
dmesg
илиdmesg -w
проверить, сообщает ли диск о каких-либо ошибках чтения или других аппаратных проблемах.
В ядре могут быть ошибки, например, диски, подключенные через USB 3.0 в высокопроизводительном режиме «UAS», раньше часто тормозили всю систему.
- Снова dmesg, но на этот раз ищите ядро, сообщающее о своих собственных блокировкахбезсвязанная ошибка чтения диска.
Если ваш проект важен, дажеодинокийОшибка, указанная в «dmesg», означает, что вам следует остановить все и сделать резервные копии на другом диске. (На самом деле, если ваш проектна самом деле(Важно, вы уже должны были сделать резервные копии.)