Когда в моей системе нет пользователей, я бы хотел, чтобы жесткий диск перешел в режим низкого энергопотребления. Я понимаю, что это не может быть достижимо на 100% в течение 24 часов подряд, но кажется разумным, что система может оставаться бездействующей в течение нескольких часов в то время, когда она не используется.
Моя система безголовая и работает с ограниченным количеством сервисов. Основные сервисы: exim4, mythtv-backend, nfs, samba, cups, apt-cacher-ng
Предположим, что накопители уже включены в режим ожидания. Кроме того, недопустимо увеличивать время ожидания обратной записи, поскольку моя система не подключена к ИБП.
смонтировать его с noatime
больше ОЗУ также помогает (большие буферы и кеши)
Если у вас достаточно ОЗУ, вы можете перемещать временные файловые системы в память, используя tmpfs. Отредактируйте / etc / fstab и добавьте:
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
hdparm позволяет установить время вращения диска (как долго будет бездействовать диск до перехода в режим ожидания) или перевести его в режим ожидания или в режим сна.
# set spindown time for sda drive to 1 min
sudo hdparm -S 12 /dev/sda
# set sdb drive to standby mode
sudo hdparm -y /dev/sdb
# put sdc drive to sleep
sudo hdparm -Y /dev/sdc
# check drive state (active/standby/sleeping)
sudo hdpam -C /dev/sdc
/etc/hdparm.conf содержит команды hdparm для автоматического запуска при загрузке. Вот мой фрагмент:
/dev/sda {
# apm 127: Highest performance that allows spindown
apm = 127
# spindown 120 = 10 min
spindown_time = 120
}
Не все команды работают на всех моделях жестких дисков, вам нужно поэкспериментировать.
Режим ноутбука работает и для не-ноутбуков, он предназначен для того, чтобы диск (диски) спал как можно дольше.
PowerTOP - это утилита для отслеживания ненужной фоновой активности.
lesswatts.org содержит несколько советов по обращению с винчестером.
Тайм-аут обратной записи : Насколько я знаю, невозможно заставить основной диск простаивать без а) увеличения таймаута обратной записи и б) отключения синхронизации системного журнала.
Обходным решением может быть использование SSD в качестве корневого диска, так как у них все равно достаточно мало энергии?
Отслеживание активности : Возможна отладка, где доступ к диску осуществляется в соответствии с FAQ по режиму ноутбука - см. 5 Spinup Debugging.
Цитата:
Мой диск все время раскручивается, и я понятия не имею, что вызывает это. Можно это отладить?
Да, вы можете. Но сначала убедитесь, что вы изменили свой syslog.conf, чтобы он не синхронизировался, как описано в последнем вопросе предыдущего раздела. Для отладки дисковой активности вы можете сделать:
echo 1> / proc / sys / vm / block_dump
(Предупреждение: вы должны отключить syslogd, прежде чем сделать это , или вы должны убедиться, что выходные данные ядра не зарегистрированы. Если вы забудете об этом, ваша система может попасть в цикл обратной связи, где syslogd вызывает активность диска, это приводит к выводу ядра, и это заставляет syslogd выполнять больше действия с диском, и так далее!)
Это позволяет отладку файловой / дисковой активности в ядре. Вы можете прочитать вывод, используя dmesg. Когда вы закончите, отключите дамп блока, используя
echo 0> / proc / sys / vm / block_dump
отключение синхронизации syslogd : режим ноутбука FAQ и lesswatts.org ссылаются на /etc/syslog.conf
.
В последних версиях Ubuntu этот файл не существует, вместо этого ищите /etc/rsyslog.d/*.conf
.
Синтаксис один и тот же - добавьте перед каждым файлом журнала тире, например:
kern.* -/var/log/kern.log
Это отключит синхронизацию для syslog deamon, что означает, что журналы будут записываться на диск с интервалами dirty_writeback_centisecs
(по умолчанию каждые 5 секунд), а не каждый раз, когда появляется новая запись в журнале.
На моем ноутбуке я установил / var / log на флешку tmpfs. Это дает вам гораздо меньше операций записи на диск, но, разумеется, любые сообщения журнала удаляются после перезагрузки. Что-то, что вам может не понадобиться, когда вы запускаете такие сервисы, как exim.
tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0
и в /etc/rc.local
mkdir /var/log/apt