Как я могу сказать, что раскручивает мой двигатель?

8

Я включил «spindown» на одном из дисков моего Linux-сервера, к которому имеет доступ только клиент BitTorrent - это означает, что когда у меня нет запущенных торрентов, ничто иное не должно быть доступа к диску и его пробуждения из spindown (верно? ).

Но что-то заставляет диск раскручиваться каждые 15 минут или около того. Как я могу отследить преступника?

Спасибо за любые отзывы!

Бруно Антунес
источник

Ответы:

8

Вы можете проверить 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
asdmin
источник
9

В Linux недавний fanotifyсистемный вызов с поддержкой ish включил симпатичную утилиту, fatraceкоторая сообщает, какой процесс запускает какой файл для всей системы или для конкретного раздела. Определенно мой любимый инструмент для такого рода вещей:

deluged(6542): R /usr/share/GeoIP/GeoIP.dat
rsyslogd(1737): W /var/log/syslog
rsyslogd(1737): W /var/log/kern.log
скоморох
источник
Этот инструмент потрясающий! Для меня это оказалось умным, раскручивающим диск, что, я думаю, имеет смысл.
Александр О'Мара
5

Я использовал iotop, чтобы выяснить, что использует диск. С веб-сайта у вас должно быть «ядро Linux ≥ 2.6.20 с включенными параметрами TASK_DELAY_ACCT и TASK_IO_ACCOUNTING».

Похоже, вы просто заинтересованы в одном конкретном диске. Вы можете написать скрипт, который регулярно проверяет с помощью lsof или fuser доступ к этому диску / разделу.

shamer
источник
1

Если процесс начинает записывать данные на диск, вы можете узнать об этом, регулярно проверяя открытые файлы: lsof .

В противном случае вы можете посмотреть «бесплатно», если файл подкачки используется или нет.

Рафаэль Лютигер
источник
1

Вы должны иметь возможность использовать аудит Linux, чтобы добавить наблюдение на точку монтирования диска, а затем отслеживать события с помощью ausearch после события, чтобы выяснить, какой файл был прочитан или записан (если есть), и какой процесс это сделал, аудит может следите за чтением, записью, выполнением и изменениями атрибутов в любой файловой системе (если она поддерживается в вашей системе - так и должно быть).

JamesHannah
источник
0

Возможно, вы могли бы использовать incron, который использует inotify для запуска команд, основанных на активности файловой системы. Затем вы можете наблюдать за точкой монтирования и использовать incron для запуска lsof, чтобы определить, какой процесс обращается к нему.

Кайл Брандт
источник
0

Легко проверить, что крутит ваш диск:

перейдите в каталог смонтированного диска, для меня был / media / disk0 / transmission

тогда вы выполняете: sudo fatrace -c

у вас будет вывод anyting, который попадает в эту папку, например, вы можете войти через ssh и выполнить команду ls.

df (54956): CO / media / disk1 bash (55025): O / media / disk1 bash (55025): RC / media / disk1 bash (55026): O / media / disk1 bash (55026): RC / media / disk1


источник