Это старая версия документа.


FIXME - попозже доработаю

Malamut 2011/04/06 23:25

laptop_mode

Если у вас стоит убунту на ноутбуке, у вас уже должен быть установлен пакет laptop_mode, оптимизирующий работу компьютера в зависимости от источника питания. Значение 0, посылаемое в /proc/sys/vm/laptop_mode, отключает режим энергосбережения, 5 устанавливает самый агрессивный.

Подробнее о том, как именно laptop_mode сберегает энергию, можно прочесть хотя бы в официальном FAQ.

echo 0 > /proc/sys/vm/laptop_mode #выключает laptop_mode
echo 5 > /proc/sys/vm/laptop_mode #активирует laptop_mode

Энергосбережение SATA

Можно включать режим энергосбережение для SATA-устройств:

echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy
echo min_power > /sys/class/scsi_host/host2/link_power_management_policy
echo min_power > /sys/class/scsi_host/host3/link_power_management_policy
echo min_power > /sys/class/scsi_host/host4/link_power_management_policy
echo min_power > /sys/class/scsi_host/host5/link_power_management_policy

У вас в /sys/class/scsi_host/ может быть другое количество устройств, учтите это. Для включения максимального быстродействия нужно выполнить выполнить команды с max_performance вместо min_power.

Энергосбережение процессора

По умолчанию в Ubuntu есть пять профилей работы процессора:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
conservative
Медленно повышает частоту процессора в зависимости от нагрузки на систему и резко сбрасывает частоту к минимальной при простое.
ondemand
Быстро повышает частоту процессора при возрастании нагрузки и медленно сбрасывает частоту к минимуму при простое.
userspace
Позволяет указывать частоту вручную.
powersave
Соответствует минимальной допустимой частоте CPU.
performance
Очевидно, соответствуют максимальной частоте CPU.

В итоге для управления потреблением энергии процессором:

#для производительности; выполнять сие для каждого ядра
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
#для энергосбережения
echo powersave > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 
echo powersave > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

Многие независимые пользователи крайне не советуют использовать режим performance, поэтому даже для работы от сети, когда экономить на ваттах нет смысла, стоит использовать режим ondemand.

Кроме этого, параметр 'sched_mc_power_savings' из /sys/devices/system/cpu/ позволяет использовать энергосберегающий режим работы процессора в случае, если у того более одного ядра, благодаря особому распределению нагрузки между ядрами:

echo 1 > /sys/devices/system/cpu/sched_mc_power_savings #включаем энергосбережение
echo 0 > /sys/devices/system/cpu/sched_mc_power_savings #выкл

Энергосбережение аудиокарты

Встроенные аудио-чипы от Intel (которые принадлежат к т. н. High Definition Audio — HDA) также имеют возможность экономии ватт, если звуковой чип не используется:

echo 0 > /sys/module/snd_hda_intel/parameters/power_save  #выключаем энергосбережение
echo 10 > /sys/module/snd_hda_intel/parameters/power_save #вкл

Запрет опрашивания CD привода

Для того, что выиграть еще чуть-чуть времени работы батареи, можно запретить системе время от времени «опрашивать» cd/dvd-привод на предмет наличия там диска:

hal-disable-polling --device /dev/cdrom                   #запрещаем
hal-disable-polling --enable-polling --device /dev/cdrom  #делаем как было

Отключение веб-камеры

Можно полностью выключить веб-камеру вместе с драйвером:

modprobe -r uvcvideo  #выключаем
modprobe uvcvideo     #включаем обратно

Естественно, пропустите этот шаг, если вам придется использовать скайп или еще для чего-то понадобится камера.

Эффективная работа памяти

FIXME

8) Dirty ratio — максимальный размер памяти (в процентах), для хранения грязных данных прежде чем процесс, их сгенерировавший, будет принужден записать их. Чем выше значение, очевидно, тем реже производится запись и тем меньше активность жесткого диска и системы.

  echo 10 > /proc/sys/vm/dirty_ratio 
echo 90 > /proc/sys/vm/dirty_ratioe #при работе от батареи

9) Dirty background ratio — минимальное число памяти (в процентах), где позволено хранить гразные данные вместо записи на диск. Этот параметр должен быть намного меньше чем dirty_ratio что бы позволить записывать куски грязных данных за один проход.

echo 5 > /proc/sys/vm/dirty_background_ratio #в нормальном режиме
echo 1 > /proc/sys/vm/dirty_background_ratio #в режиме энергосбережения

10) Dirty Writeback sentisecs — как часто ядро должно проверять есть ли «грязные» (измененные) данные для записи на диск (в сантисекундах). Чем выше значение, очевидно, тем реже используется диск для записи грязных данных.

echo 6000 > /proc/sys/vm/dirty_writeback_centisecs
echo 60000 > /proc/sys/vm/dirty_writeback_centisecs #для энергосбережения

Энергосбережение PCI Express

Включение режима энергосбережения PCI Express также позволяет экономить немного энергии батареи:

echo powersave > /sys/module/pcie_aspm/parameters/policy  # Включаем энергосбережение
echo default > /sys/module/pcie_aspm/parameters/policy    # Выключаем

Ссылки