среда, 12 августа 2009 г.

x200s. HDD Spin down.

(Продолжение. Начало статьи)


Вреден ли для 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 average1,7
Active Idle average0,8
Low Power Idle average0,55
Read average1,8
Write average1,8
Seek average2,2
Standby0,2
Sleep0,1
Startup (maximum peak)5,0
Average from power on toready3,8


На основании приведенных данных видно, что разница между Low Power Idle average и Standby составляет 0,35 Вт.

Простой расчет показывает, что перевод диска в режим Standby начинает давать экономию энергии на 12-й секунде, что наглядно показано на графике:


Кто раскручивает диск?

Чтобы проверить какие программы обращаются к диску легче всего запустить программу iotop,
которая в реальном времени это покажет. Или собрать статистику в файл и проанализировать, кто чаще образался к диску:
$ iotop -bod 30 > /tmp/iodisk.log
В таблицу сведены основные источники, вызывающие регулярные раскрутки HDD, и методы борьбы борьбы с ними.
Запись в logПо умолчанию система постоянно пишет в log файлы, которые находятся в каталоге /var/log.

Ubuntu 9.04: Я перенёс каталоги /tmp и /var/tmp в RAM и отключил логгирование в режиме работы от батареи с помощью настройки laptop-mode

Ubuntu 10.04 и выше: Для логирования в этой версии применена программа rsyslog. При работе от батарей я просто отключаю (в скрипте pm-utils) все логирование командой $ service rsyslog stop

wpa_supplicantUbuntu 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 минуты.



4 комментария:

  1. Привет!
    Вообщем, даю ответ на этот вопрос:
    "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).

    ОтветитьУдалить
  2. Спасибо. Добавляю в решение в статью.

    ОтветитьУдалить
  3. нихрена не поноля

    так какой командой вырубить наифг hdd? у меня он трищит как "жигули" 2102

    ОтветитьУдалить
    Ответы
    1. Одной команды нет.
      Нужно понять с помощью
      iotop -bod 30 > /tmp/iodisk.log
      кто диск крутит.
      Потом с каждым разбираться отдельно.

      Удалить