Энергосбережение на ноутбуке - практические примеры.
На написание этой статьи побудили сообщения на форуме “счастливых” владельцев ноутбуков Acer, которые не знали как им избавиться от предустановленного Линукса и установить любимую Windows ХР. На самом деле Линукс это просто и, что самое главное, весело.
Здесь я опишу некоторые способы энергосбережения на ноутбуках под управлением ОС Linux. Задействовав эти параметры можно добавить порядка 20-30 минут к времени работы от батареи.
Здесь я опишу некоторые способы энергосбережения на ноутбуках под управлением ОС Linux. Задействовав эти параметры можно добавить порядка 20-30 минут к времени работы от батареи.
Включение энергосберегающего режима Wi-Fi адаптера.
Всё популярнее становится способ передачи данных посредством Wi-Fi и особенно он актуален для ноутбуков в силу их мобильности. Из-за достаточно ощутимых энергетических запросов Wi-Fi модулей, был разработан режим энергосбережения, который помогает уменьшить время активной работы беспроводного адаптера.
При включении энергосберегающего режима Wi-Fi адаптер перестаёт вещать постоянно и начинает периодически выключаться, посылая соответсвующий сигнал на точку доступа. И в то время пока Wi-Fi адаптер выключен, точка доступа хранит пакеты предназначенные для него. Естественно, чем дольше Wi-Fi выключен, тем больше энергии сохраняет аккумуляторная батарея ноутбука. Драйвера на адаптер могут контролировать как много времени пройдёт, прежде чем адаптер включится вновь и получит свои пакеты с точки доступа. Единственный минус – увеличение времени отклика сети, но для просмотра интернет страниц и общения в различных мессенджерах это не критично. Другое дело – онлайн игры и видео-говорилки(скайп и ему подобные), их врядли получится полноценно использовать с режимом энергосбережения.
Ещё одна небольшая проблема – не все точки доступа поддерживают эту технологию, особенно это относится к старым моделям. Это может выразиться в том что вай-фай сеть просто пропадёт. Если после включения энергосберегающего режима сеть теряется попробуйте обновить прошивку вашей точки доступа. Тут добавлю что мой простенький роутер(проще не бывает), купленный год назад, отлично справляется с этой задачей.
Итак, для начала узнайте какая версия драйвера установлена на ваш адаптер, сделать это можно выполнив от имени суперпользователя команду:
lspci -vvv -nn
она выдаст список вашего оборудования, остаётся только найти вай-фай карту и посмотреть какой драйвер установлен. На скриншоте версия драйвера - iw13945
Я рассмотрю самый распространённые на данный момент драйвера - ipw2100, ipw2200, iwl3945, iwl4965.
Для включения энергосберегающего режима на адаптере с драйверами ipw2100 или ipw2200 выполните в терминале эту команду:
iwpriv eth1 set_power 5
где, eth1 – ваш wi-fi адаптер(может быть wlan0, eth0 и т.д.)
цифра 5 это собственно значение команды. Самое меньшее возможное значение это 1(быстрое время отклика сети, наименьшее энергосбережение), при значении 5 – наибольшее энергосбережение, но время отклика – меньше. Если выставить значение 6 – режим энергосбережения отключается.
На более новых адаптерах стоят драйвера iwl3945 или iwl4965, и конфигурирование wi-fi карты больше зависит от ядра, но параметр энергосбережения всё равно можно задать вручную следующей командой:
echo 5 > /sys/bus/pci/drivers/iwl3945/*/power_level
где значение энергосбережения всё так же задаётся цифрой от 1 до 6.
Если у вас драйвер iwl4965, то соответсвенно нужно подставить его значение в команду вместо iwl3945.
Во многих современных дистрибутивах при правильной настройке ядра энергосбережение wi-fi адаптера автоматически переключается на значение 5 при включении питания ноутбука от батареи.
При включении энергосберегающего режима Wi-Fi адаптер перестаёт вещать постоянно и начинает периодически выключаться, посылая соответсвующий сигнал на точку доступа. И в то время пока Wi-Fi адаптер выключен, точка доступа хранит пакеты предназначенные для него. Естественно, чем дольше Wi-Fi выключен, тем больше энергии сохраняет аккумуляторная батарея ноутбука. Драйвера на адаптер могут контролировать как много времени пройдёт, прежде чем адаптер включится вновь и получит свои пакеты с точки доступа. Единственный минус – увеличение времени отклика сети, но для просмотра интернет страниц и общения в различных мессенджерах это не критично. Другое дело – онлайн игры и видео-говорилки(скайп и ему подобные), их врядли получится полноценно использовать с режимом энергосбережения.
Ещё одна небольшая проблема – не все точки доступа поддерживают эту технологию, особенно это относится к старым моделям. Это может выразиться в том что вай-фай сеть просто пропадёт. Если после включения энергосберегающего режима сеть теряется попробуйте обновить прошивку вашей точки доступа. Тут добавлю что мой простенький роутер(проще не бывает), купленный год назад, отлично справляется с этой задачей.
Итак, для начала узнайте какая версия драйвера установлена на ваш адаптер, сделать это можно выполнив от имени суперпользователя команду:
lspci -vvv -nn
она выдаст список вашего оборудования, остаётся только найти вай-фай карту и посмотреть какой драйвер установлен. На скриншоте версия драйвера - iw13945
Я рассмотрю самый распространённые на данный момент драйвера - ipw2100, ipw2200, iwl3945, iwl4965.
Для включения энергосберегающего режима на адаптере с драйверами ipw2100 или ipw2200 выполните в терминале эту команду:
iwpriv eth1 set_power 5
где, eth1 – ваш wi-fi адаптер(может быть wlan0, eth0 и т.д.)
цифра 5 это собственно значение команды. Самое меньшее возможное значение это 1(быстрое время отклика сети, наименьшее энергосбережение), при значении 5 – наибольшее энергосбережение, но время отклика – меньше. Если выставить значение 6 – режим энергосбережения отключается.
На более новых адаптерах стоят драйвера iwl3945 или iwl4965, и конфигурирование wi-fi карты больше зависит от ядра, но параметр энергосбережения всё равно можно задать вручную следующей командой:
echo 5 > /sys/bus/pci/drivers/iwl3945/*/power_level
где значение энергосбережения всё так же задаётся цифрой от 1 до 6.
Если у вас драйвер iwl4965, то соответсвенно нужно подставить его значение в команду вместо iwl3945.
Во многих современных дистрибутивах при правильной настройке ядра энергосбережение wi-fi адаптера автоматически переключается на значение 5 при включении питания ноутбука от батареи.
Отключение UHCI USB.
Если добавить в файл конфигигурации загрузчика GRUB(menu.lst) опцию usbcore autosuspend=1, то UHCI USB будет автоматически отключаться когда не используется.
Отключение опроса DVD-привода.
Компонент ядра hal время от времени посылает запросы к приводу компакт-дисков, причем делает это довольно часто(примерно раз в две секунды). Делает он это для того чтобы быть в курсе, если пользователь вставит компакт-диск. Это нужно, например, для того чтобы автоматически открыть новое окно на рабочем столе с файлами компакт-диска. Такой постоянный опрос привода, заставляет аппаратные части ноутбука находится в постоянном действии. Если вы не так часто используете компакт-диски, то можете отключить этот процесс, это позволит сохранить определенное количество энергии.
Итак, отключаем hal:
hal-disable-polling --device /dev/scd0
После отключения hal в графической среде не будет автоматически открываться окошко с файлами компакт-диска, так же может пропасть автомонтирование. Чтобы заработало автомонтирование нужно добавить в файл /etc/fstab строку: /dev/sr0 /media/cdrom auto users,noauto,defaults 0 0
И если понадобится включить hal:
$hal-disable-polling --device /dev/scd0 --enable-polling
К слову, новые SATA-приводы уже не нуждаются в постоянном опросе, они сами посылают сигнал ОС, когда в них вставляют диск. Так что и в ядре и в hal разрабатывается возможность распознавать сигналы от SATA-приводов и отказаться от постоянного опроса устройства.
Итак, отключаем hal:
hal-disable-polling --device /dev/scd0
После отключения hal в графической среде не будет автоматически открываться окошко с файлами компакт-диска, так же может пропасть автомонтирование. Чтобы заработало автомонтирование нужно добавить в файл /etc/fstab строку: /dev/sr0 /media/cdrom auto users,noauto,defaults 0 0
И если понадобится включить hal:
$hal-disable-polling --device /dev/scd0 --enable-polling
К слову, новые SATA-приводы уже не нуждаются в постоянном опросе, они сами посылают сигнал ОС, когда в них вставляют диск. Так что и в ядре и в hal разрабатывается возможность распознавать сигналы от SATA-приводов и отказаться от постоянного опроса устройства.
Увеличение временного интервала записи в файл из буфера.
В ядре Линукс предусмотрена опция записи данных в файл из буфера приложений. Делается это для предотвращения потери данных. Посмотреть это значение можно командой:
cat /proc/sys/vm/dirty_writeback_centisecs
на скриншоте таймаут между записями в файл составляет 5 секунд(500 сантисекунд).
Если у ноутбука надёжный источник питания(постоянно вставлена батарея) или используется UPS и вы не боитесь внезапного падения системы, то это значение можно увеличить. Это позволит ядру реже обращаться к винчестеру, а винчестеру дольше находится в состоянии покоя.
Увеличить значение можно командой:
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
После ввода этой команды данные из буфера будут записываться на диск раз в 15 секунд. Естественно никто не запрещает поставить другое значение, которое вы для себя считаете наиболее приемлемым.
cat /proc/sys/vm/dirty_writeback_centisecs
на скриншоте таймаут между записями в файл составляет 5 секунд(500 сантисекунд).
Если у ноутбука надёжный источник питания(постоянно вставлена батарея) или используется UPS и вы не боитесь внезапного падения системы, то это значение можно увеличить. Это позволит ядру реже обращаться к винчестеру, а винчестеру дольше находится в состоянии покоя.
Увеличить значение можно командой:
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
После ввода этой команды данные из буфера будут записываться на диск раз в 15 секунд. Естественно никто не запрещает поставить другое значение, которое вы для себя считаете наиболее приемлемым.
Заключение: возможностей уменьшения потребления энергии в Линуксе великое множество - от понижения яркости подсветки дисплея до настройки парковки головок винчестера, в статье же описаны только несколько не сложных приёмов, но, я надеюсь, написанное здесь побудит Вас к дальнейшим самостоятельным исследованиям своей Линукс системы, тем более что это захватывает не меньше чем, например, Fallout 3.