Что не дает моим дискам спать?

Что не дает моим дискам спать?

Я настроил жесткие диски на переход в спящий режим после 1 минуты бездействия. Раньше это работало очень хорошо; сервер почти всегда был абсолютно тихим. Но в последнее время диски чаще просыпаются.

Могу ли я проверить, что не дает им перейти в спящий режим? Это домашний сервер.

rc.local:

hdparm -M 128 -S 60 /dev/sda
hdparm -S 60 /dev/sdb

Обновлять:Сервер работает под управлением Ubuntu 10.04. ОС с /tmp и /var/ находится на SSD, а sda и sdb используются только для хранения/резервного копирования.

Обновление 2:Из моего sysctl.conf:

vm.swappiness = 1
vm.vfs_cache_pressure = 50
vm.dirty_writeback_centisecs = 1500
vm.dirty_ratio = 20
vm.dirty_backgrounds_ratio = 10

решение1

Это не совсем ответ на ваш вопрос, но может помочь с основной проблемой. Один инструмент, о котором я знаю, это iotop, но он может не помочь поймать кратковременную активность процесса.

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

  • Очистка журнала. Linux очищает журнал ext3 (или ext4) через регулярные интервалы, независимо от того, нужна ли очистка или нет. Это можно настроить с помощью commitпараметра монтирования.
  • Системные журналы. В конфигурации по умолчанию некоторые системные журналы сбрасываются всякий раз, когда пишется строка. Задания Cron — постоянные нарушители, поскольку они запускают authзапись в журнале. Вам понадобится -перед всеми именами файлов журналов в /etc/syslog.conf.

Если вы действительно хотите, чтобы ваши диски вращались медленнее, посмотритеnoflushd. Это действительно работает (или, по крайней мере, работало раньше, в последнее время его не особо поддерживали, и у него могут быть проблемы с современными ядрами). Но будьте осторожны, это хак, и он действительно жесткий: он просто останавливает запись ядра, пока либо кэш не заполнится, либо диск не проснется для чтения.

Если вы ищете тишину, техника, котораяочень помогаетэтоподвешивать диски на резинкахвместо того, чтобы монтировать его напрямую. Это не поможет снизить энергопотребление, но если у вас нет дисков ≥10kpm (которые в любом случае требуют сумасшедшего вентилятора), процессор и материнская плата, вероятно, являются основными потребителями энергии даже в режиме ожидания.

решение2

Убедитесь, что вы отключили все подробные журналы. Если у вас есть машины, которые отправляют широковещательные сообщения на определенные порты, которые регистрируются правилами вашего брандмауэра, вы легко получите запись, достаточную для того, чтобы диск не останавливался. Принтеры HP и машины Windows печально известны тем, что отправляют широковещательные сообщения для проверки других машин в локальной сети, и большинство правил брандмауэра регистрируют эти запросы.

Проверьте запущенные службы, чтобы узнать, не ведут ли какие-либо из них журналы в собственных файлах. У вас запущен fam? swappiness установлен на высоком уровне и достаточно служб, которые постоянно перекладывают данные из оперативной памяти в swap? cron jobs?

решение3

попытался ли ты iotop?

Связанный контент