Когда мой ноутбук (на котором установлена Ubuntu 12.04) работает от батареи, диск отключается через несколько секунд бездействия — около 20 секунд. Я использую lightdm для входа в систему и запускаю некоторые компоненты Gnome (у меня есть gnome-panel
и ряд зависимостей), но я не использую ни Gnome, ни Unity в качестве среды рабочего стола (я запускаю менеджер окон Sawfish вручную).
20 секунд — это смехотворно быстро: на практике диск постоянно отключается и тут же включается, что медленно (неприятный пользовательский опыт),потенциальное повреждение привода(хотя мне так и не удалось найти конкретных данных по этому поводу), и на самом деле потребляет больше энергии, когда время замедления вращения очень короткое (анализ 2008 годаобнаружил, что для определенного диска режим ожидания экономит энергию, если он длится более 9 секунд; у меня он часто длится меньше).
Поэтому я хочу увеличить этот таймаут. Как это сделать? Я не знаю, какое ПО вызывает остановку вращения.
Глядя на запущенные процессы, я вижу только upowerd
те, которые могут быть связаны с управлением питанием. Если их убить, ничего не изменится.
Тайм-аут, вероятно, происходит из-засам диск: hdparm -I /dev/sda
сообщает «Уровень расширенного управления питанием: 1» (что не соответствует 20 секундам, поскольку должно означать 5 секунд согласно документации hdparm…). Я видел эту же машину со значением 254 в других случаях.
Что заставляет значение меняться при питании от батареи? Я не вижу никаких вызовов hdparm
в /etc/acpi/*
.
решение1
/etc% grep -lw 20 **/*(.)
…
laptop-mode/laptop-mode.conf
…
$ grep -w 20 laptop-mode/laptop-mode.conf
# Default is 2 hours on AC (NOLM_HD_IDLE_TIMEOUT_SECONDS=7200) and 20 seconds
LM_AC_HD_IDLE_TIMEOUT_SECONDS=20
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=20
и если на то пошло
/etc% grep hdparm **/*(.)
…
laptop-mode/laptop-mode.conf:# hdparm
laptop-mode/laptop-mode.conf:# really SATA drives that only _look_ like SCSI drives, and will use hdparm
laptop-mode/laptop-mode.conf:# Idle timeout values. (hdparm -S)
laptop-mode/laptop-mode.conf:# Power management for HD (hdparm -B values)
laptop-mode/laptop-mode.conf:# Write cache settings for HD (hdparm -W values)
Эта настройка происходит отинструменты-режим-ноутбука. Вот настройки по умолчанию в /etc/laptop-mode/laptop-mode.conf
:
# Idle timeout values. (hdparm -S)
# Default is 2 hours on AC (NOLM_HD_IDLE_TIMEOUT_SECONDS=7200) and 20 seconds
# for battery and for AC with laptop mode on.
#
LM_AC_HD_IDLE_TIMEOUT_SECONDS=20
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=20
NOLM_HD_IDLE_TIMEOUT_SECONDS=7200
Я меняю эти 20-е значения на что-то разумное.