Вы можете проверить http://samwel.tk/laptop_mode/ . Хотя эта страница в основном не посвящена вашей проблеме, но дает хорошее общее представление о том, как работает ввод-вывод и идеи, как отключить ваши диски, отключив их.
Краткий ответ на вашу проблему:
echo 1> / proc / sys / vm / block_dump
это будет производить сообщения в системном журнале, как:
23 июля 10:04:05 ядро локуса: ls (5224): ПРОЧИТАТЬ блок 7340136 на dm-4
23 июля, 10:04:05 ядро локуса: ls (5224): ПРОЧИТАТЬ блок 4335136 на dm-4
23 июля, 10:04:05 ядро локуса: ls (5224): ПРОЧИТАТЬ блок 15505568 на dm-4
23 июля, 10:04:05 ядро локуса: ls (5224): ПРОЧИТАТЬ блок 7340160 на dm-4
23 июля, 10:04:05 ядро локуса: ls (5224): ПРОЧИТАТЬ блок 7340168 на dm-4
Я использовал простую команду ls
ПРИМЕЧАНИЕ: убедитесь, что ваша системная регистрация отключена или записана на ramdisk (типа: tmpfs), прежде чем сделать это, потому что (цитата): «ваша система может попасть в цикл обратной связи, где syslogd вызывает активность диска, это вызывает вывод ядра, и это заставляет syslogd делать больше дисковой активности "
Я рекомендую монтировать / tmp как ramdisk, а затем настраивать запись в / tmp / syslog. Это в / etc / fstab (и перезагрузке) сделает:
none / tmp tmpfs по умолчанию, размер = 256M 0 0
Я использовал iotop, чтобы выяснить, что использует диск. С веб-сайта у вас должно быть «ядро Linux ≥ 2.6.20 с включенными параметрами TASK_DELAY_ACCT и TASK_IO_ACCOUNTING».
Похоже, вы просто заинтересованы в одном конкретном диске. Вы можете написать скрипт, который регулярно проверяет с помощью lsof или fuser доступ к этому диску / разделу.
источник
Если процесс начинает записывать данные на диск, вы можете узнать об этом, регулярно проверяя открытые файлы: lsof .
В противном случае вы можете посмотреть «бесплатно», если файл подкачки используется или нет.
источник
Вы должны иметь возможность использовать аудит Linux, чтобы добавить наблюдение на точку монтирования диска, а затем отслеживать события с помощью ausearch после события, чтобы выяснить, какой файл был прочитан или записан (если есть), и какой процесс это сделал, аудит может следите за чтением, записью, выполнением и изменениями атрибутов в любой файловой системе (если она поддерживается в вашей системе - так и должно быть).
источник
Возможно, вы могли бы использовать incron, который использует inotify для запуска команд, основанных на активности файловой системы. Затем вы можете наблюдать за точкой монтирования и использовать incron для запуска lsof, чтобы определить, какой процесс обращается к нему.
источник
Легко проверить, что крутит ваш диск:
перейдите в каталог смонтированного диска, для меня был / media / disk0 / transmission
тогда вы выполняете:
sudo fatrace -c
у вас будет вывод anyting, который попадает в эту папку, например, вы можете войти через ssh и выполнить команду ls.
источник