Что держит мои диски без сна?

1206
Znarkus

Я настроил свои жесткие диски на сон после 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 
4
Знаете ли вы, что, вращая диски, вы сокращаете их и без того короткую жизнь? 13 лет назад 1
@ Джон: у тебя есть надежная ссылка на это? Я видел это аргументировано в обоих направлениях. @Znarkus: Я полагаю, что вы используете Linux из-за использования hdparm, но вы должны четко указать свою ОС в своем вопросе. Gilles 13 лет назад 0
Основной износ дисков происходит из цикла нагрева / охлаждения. Чем меньше вы это делаете, тем дольше это будет продолжаться. Chris S 13 лет назад 0
@ Жиль, я не знаю ссылки, которую можно найти, но личный опыт почти 4 десятилетий, а также понимание того, почему происходит износ, трудно игнорировать. 13 лет назад 0
@John: я научился с осторожностью относиться к этому виду «общепринятого мнения» - того же, что утверждает, что жесткие диски должны работать как можно более круто (что оказалось ложным). Я [запросил количественные данные в отдельном вопросе] (http://superuser.com/questions/197862/how-harmful-is-a-hard-disk-spin-cycle). Gilles 13 лет назад 0
Это очень интересно. Но поскольку твердотельные диски производят так много шума и выделяют тепло из-за их относительно высокого энергопотребления, я не могу заставить их вращаться весь день. Я обновил вопрос с дополнительной информацией Znarkus 13 лет назад 0

3 ответа на вопрос

3
Gilles

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

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

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

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

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

Спасибо за все советы. Могу ли я сделать шоу «iitop» на каком диске это занятие? Znarkus 13 лет назад 0
@Znarkus: Я так не думаю, но если вы обнаружили, что какой-то конкретный процесс выполняет ввод-вывод, вы можете использовать `lsof` или` strace`, чтобы найти, какие файлы он открывает или открывает. Gilles 13 лет назад 0
3

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

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

1
Hubert Kario

ты пробовал iotop?

Похожие вопросы