Что делать если в Ubuntu быстро разряжается батарея?

После установки Ubuntu на свой ноутбук Acer Travelmate, я заметил что по сравнению с Windows ноутбук стал больше греться, а батарея быстрее разряжаться. Немного погуглив, нашел решение как снизить энергопотребление в Ubuntu с помощью пакета cpufreq-utils.

Ни для кого не секрет, что самым энергопотребляющим компонентом в ноутбуке является процессор. Экран в расчет не берем, поскольку его яркость легко регулируется нажатием специальных клавиш. Ниже я покажу как можно уменьшить потребление энергии процессора в Ubuntu (а также Debian).

1) Установим пакет cpufrequtils:
sudo apt-get install cpufrequtils

2) Установим демон cpufreqd, для автоматической регулировки режимов процессора:
sudo apt-get install cpufreqd

3) Выполним команду cpufreq-info:
sudo cpufreq-info

Красным я выделил важные параметры. Если частота процессора (current CPU Frequency) высокая или governor (регулятор) стоит в режиме performance, то понизить потребление можно переведя governor в режим powersave.

4) Настройки режимов процессора удобно сохранить в конфиг файле:
sudo vi /etc/cpufreqd.conf

Например, я изменил свой конфиг файл так, чтобы максимально снизить энергопотребление как при работе от сети (режим Conservative High), так и от батареи (режим Powersave Low):

...
[Rule]
name=AC Rule
ac=on                    # (on/off)
profile=Conservative High
[/Rule]

# Работа от батареи, высокий уровень заряда
[Rule]
name=AC Off - High Power
ac=off                   # (on/off)
battery_interval=70-100
#exec_post=echo 5 > /proc/acpi/sony/brightness
profile=Powersave Low
[/Rule]

# Работа от батареи, средний уровень заряда
[Rule]
name=AC Off - Medium Battery
ac=off                   # (on/off)
battery_interval=30-70
#exec_post=echo 3 > /proc/acpi/sony/brightness
profile=Powersave Low
[/Rule]

# Работа от батареи, низкий уровень заряда
[Rule]
name=AC Off - Low Battery
ac=off                   # (on/off)
battery_interval=0-30
#exec_post=echo 3 > /proc/acpi/sony/brightness
profile=Powersave Low
[/Rule]
...

5) После изменения настроек в cpufreqd.conf, необходимо перезагрузить демон:
sudo /etc/init.d/cpufreqd restart

6) Удалим сервисы ondemand и cpufrequtils из автозагрузки (ondemand по умолчанию ставит режим ondemand и сбрасывает настройки cpufreqd):

sudo update-rc.d -f cpufrequtils remove
sudo update-rc.d -f ondemand remove

7) Также для более удобной смены режимов процессора, можно установить индикатор в панель задач:
sudo apt-get install indicator-cpufreq
indicator-cpufreq

8) Для того чтобы узнать температуру процессора, рекомендую установить пакет lm-sensors:
sudo apt-get install lm-sensors

Узнать температуру процессора командой:
sudo sensors

Например, температура моего процессора в районе 50 градусов (Core I3, режим Powersave):
sensors

Похожие записи: