Я хочу подключить другой жесткий диск к моему компьютеру, который я хочу спать 99% времени. Я буду использовать его только для нескольких вещей, но мне нужно, чтобы он всегда монтировался.
Для этого я хотел бы знать:
- Как мне регистрировать, какие процессы обращаются к устройству? Мне нужно, чтобы логирование показывало, что вызывает пробуждение жесткого диска, если оно происходит, так что я могу действовать на нем.
- Есть ли какие-то особые настройки ядра, которые мне нужно сделать, чтобы устройство дольше могло спать?
- Как установить интервалы ожидания жесткого диска?
источник
http://en.wikipedia.org/wiki/Fuser_%28Unix%29 - fuser - команда UNIX, используемая для отображения, какие процессы используют указанный файл, файловую систему или сокет.
http://sourceforge.net/projects/hdparm/ - получить / установить параметры дисков ATA / SATA под Linux (ищите опцию -S)
http://sg.danny.cz/sg/sg3_utils.html - Пакет sg3_utils содержит утилиты, которые отправляют команды SCSI на устройства. А также устройства на транспорте, традиционно связанные с SCSI (ищите sg_start)
источник
btrace
илиblktrace
(оберткаbtrace
) отслеживает блок ввода-вывода ядра и может помочь вам в этом.источник
lsof +D /path/to/mount
должен показать вам каждый процесс, который имеет любой открытый файл по указанному пути.источник
У меня похожая проблема. У меня есть SSD,
/dev/sdb
с ОС (Linux Mint 18.1 на основе Ubuntu Xenial) и HDD/dev/sda
, с данными, которые я использую время от времени. Оба диска зашифрованы. Разделы жесткого диска не смонтированы. И все равно в течение нескольких минут HDD просыпается, затем спит, затем снова просыпается. Mess.Вот дублирующий вопрос с полезным ответом , который предлагает
auditd
найти процесс плохого поведения.Тогда я заставляю HDD спать
hdparm -Y /dev/sda
. Затем подождите, пока я не услышу, как снова вращается жесткий диск. Тогда бегиausearch -f /dev/sda
. В моем случае это показывает записи, подобные следующим.Соответствующей частью является exe = "/ usr / lib / udisks2 / udisksd" . Хотя у меня тоже был
smartmontools
чейsmartd
виновник. Я удалилsmartmontools
и остановилudisk2
службу сservice udisks2 stop
. После этого HDD спит как положено.Обратите внимание, что
udisks2
он автоматически запустится, когда я, например, открою приложение Disks , поэтому мне придется снова его остановить. Другим недостатком является то, что параметры SMART не контролируются для обоих дисков, что не очень хорошо, но в качестве обходного пути подходит.Также одна вещь, которая не ясна, - то, что этот отчет об ошибках говорит,
udisks2
что не делает опрос дисков, который теперь сделан ядром. Но доказательства, кажется, указывают на обратное.источник