Вреден ли для HDD режим spin down?
В ThinkPad x200s используется HDD Hitachi Travelstar 5K320 HTS543225L9SA00.
Этот диск обеспечивает не менее 600 000 нормальных циклов load/unloads.
В среднем ноутбук работает от батареи до 6 часов в сутки. Если считать, что диск останавливается/раскручивается 1 раз в минуту, значит его ресурса хватит не менее, чем на
600 000/(1*60*6*365) = 4,57 года.
Нечего париться по поводу ограниченного ресурса HDD. Ведь никто же не возмущается, что ресурс батареи всего 250 циклов заряд/разряд. А это вообще меньше года.
Нужно ли останавливать диск?
Вопрос запутан. Разработчики и сопровожденцы Gnome Power Manager утверждают, что не нужно. Якобы современные диски имеют такой хороший режим powersave, что и останавливать их смысла нет.
Вот данные взятые из той же спецификации на Hitachi Travelstar 5K320.
Watts (RMS Typical) | |
Performance Idle average | 1,7 |
Active Idle average | 0,8 |
Low Power Idle average | 0,55 |
Read average | 1,8 |
Write average | 1,8 |
Seek average | 2,2 |
Standby | 0,2 |
Sleep | 0,1 |
Startup (maximum peak) | 5,0 |
Average from power on toready | 3,8 |
На основании приведенных данных видно, что разница между Low Power Idle average и Standby составляет 0,35 Вт.
Простой расчет показывает, что перевод диска в режим Standby начинает давать экономию энергии на 12-й секунде, что наглядно показано на графике:
Кто раскручивает диск?
Чтобы проверить какие программы обращаются к диску легче всего запустить программу iotop,
которая в реальном времени это покажет. Или собрать статистику в файл и проанализировать, кто чаще образался к диску:
В таблицу сведены основные источники, вызывающие регулярные раскрутки HDD, и методы борьбы борьбы с ними.
Запись в log | По умолчанию система постоянно пишет в log файлы, которые находятся в каталоге /var/log. Ubuntu 9.04: Я перенёс каталоги /tmp и /var/tmp в RAM и отключил логгирование в режиме работы от батареи с помощью настройки laptop-mode Ubuntu 10.04 и выше: Для логирования в этой версии применена программа rsyslog. При работе от батарей я просто отключаю (в скрипте pm-utils) все логирование командой |
wpa_supplicant | Ubuntu 9.04: wpa_supplicant раз в минуту записывает диагностику в /var/log/wpa_supplicant.log Этот драйвер пока не настраивается через /etc/syslog.conf. Как перенаправить вывод описано здесь. Ubuntu 10.04: В этой версии Ubuntu ничего с wpa_supplicant делать не нужно. |
firefox | С точки зрения powersaving одна из самых злобных программ. Наиболее эффективный метод - перенос User Profile в оперативную память. |
gnome-power-manager | Не знаю что уж, что там она менеджирует. По моему она просто показывает сколько осталось батарейки и выводит график заряда/разряда. (Шютка) За это она раз в минуту обращается к диску. Vetal1950 предложил элегантное решение. Добавить в /etc/fstab команду монтирования: tmpfs /var/lib/upower tmpfs defaults,noatime,nodiratime 0 0 |
После применения указанных мер, диск в моем ноутбуке, когда он находится в состоянии idle, просыпается примерно 1 раз за 3 минуты.
Привет!
ОтветитьУдалитьВообщем, даю ответ на этот вопрос:
"gnome-power-manager
Не знаю что уж, что там она менеджирует. По моему она просто показывает сколько осталось батарейки и выводит график заряда/разряда. (Шютка) За это она раз в минуту обращается к диску.
Что с ней делать пока не придумал. Может кто подскажет?"
Демон upowerd, занимающийся графиками и расчетом времени оставшегося, раз в несколько минут пишет файлы, по которым он строит графики, в папку /var/lib/upower. Для того чтобы вылечить это дело, я дописал в файл /etc/fstab строчку (осторожнее с переносами - все что дальше ангилйскими буквами, все одна строка в файле)
tmpfs /var/lib/upower tmpfs defaults,noatime,nodiratime 0 0
P.S.: Огромное спасибо за статью. С ее помощью я добился минимального потребления 4.5Вт и среднего 5.8-6.0Вт. Нетбук Samsung N210 (5900mAh, 66.7 Wh).
Спасибо. Добавляю в решение в статью.
ОтветитьУдалитьнихрена не поноля
ОтветитьУдалитьтак какой командой вырубить наифг hdd? у меня он трищит как "жигули" 2102
Одной команды нет.
УдалитьНужно понять с помощью
iotop -bod 30 > /tmp/iodisk.log
кто диск крутит.
Потом с каждым разбираться отдельно.