Энергосбережение в Linux

Энергосбережение в Linux Практически все выпускаемые на сегодняшний день мониторы поддерживают функции энергосбережения. Но не так уж много людей знает, что это за функции и как ими управлять в операционной системе Linux. В данной статье и хотелось бы затронуть этот вопрос.
Стандарт управления энергопотреблением мониторов описывает четыре различных режима работы монитора.
Эти режимы отличаются набором узлов, находящихся в рабочем состоянии. Продолжительность возврата монитора на нормальную работу из режима энергосбережения также различна для разных режимов.
Система DPMS (Display Power Management Signals) позволяет программно управлять двумя основными узлами монитора: блоком вертикальной развертки и блоком горизонтальной развертки. Стоит также сказать, что во всех режимах энергосбережения с трубки снимается напряжение и гасится электронный луч.
Первый режим работы монитора получил название Normal, никакого энергосбережения он не реализует, так как это режим нормальной работы нашего электронного брата. При этом функционируют все узлы монитора. Это единственный режим работы, при котором на трубку подается высокое напряжение и луч совершает свои движения по экрану.
Второй режим — это всем известный режим Stand-by, в дословном переводе с английского означает "режим резервирования". В этом режиме блок вертикальной развертки продолжает вырабатывать сигнал, а блок горизонтальной развертки отключается. При этом экономится около 10 ватт. Возврат из этого режима монитор производит практически мгновенно.
Третий режим получил название Suspend mode, режим приостановки. В этом режиме отключается блок вертикальной развертки, но блок горизонтальной развертки продолжает функционировать.
Энергопотребление монитора в этом режиме обычно составляет около 15 ватт. В нормальный режим монитор возвращается ощутимо дольше, как если бы он выходил из режима Stand-by.
Четвертый режим — режим Power-off. Он соответствует полному отключению питания от узлов развертки.
Выход из этого режима потребует практически столько же времени, сколько необходимо монитору при включении питания. В этом режиме монитор потребляет не более 5 ватт.
Рассмотрев четыре режима работы монитора, перейдем к описанию управления этими режимами с консоли. Управление энергосбережением консоли осуществляется при помощи программы setterm.
Консоль поддерживает три состояния: нормальная работа, погашенный экран (blank screen) и энергосберегающий режим. Причем энергосбережение может быть включено только после того, как будет погашен экран.
Для установления интервалов времени, через которое консоль будет менять свое состояние, используется две команды:
setterm -blank #
setterm -powerdown #
Первая команда устанавливает время в минутах, через которое будет гаситься экран. Вторая устанавливает время, по прошествии которого будет включаться режим энергосбережения.
Здесь уместно отметить, что гашение экрана не имеет никакого отношения к энергосбережению. При погашенном экране с него просто удаляется изображение, но все узлы монитора продолжают функционировать.
Чтобы установить, какой именно режим энергосбережения мы хотим использовать, следует дать следующие команды:
для режима Stend-by: setterm -powersave hsync
для режима Suspend: setterm -powersave vsync или setterm -powersave on
для режима Power-off: setterm -powersave powerdown
чтобы просто запретить энергосбережение: setterm -powersave off
Например, Вы хотите, чтобы при отсутствии каких-либо действий со стороны юзера в течение пяти минут гасла консоль, а по прошествии еще десяти минут монитор переходил в состояние Power-off. Тогда Вам следует включить куда-нибудь в файл rc.locale следующие команды:
setterm -blank 5
setterm -powerdown 15
setterm -powersave powerdown
Замечание. Правильность работы setterm зависит от версии самой утилиты и версии ядра. As far as I know, надежно работает только режим Power-off. Остальные режимы могут вызываться не вполне корректно, например, вместо одного — другой.
С консолью все. А как же управлять энергосбережением из X-Window? Настроить X-server можно двумя способами. Первый: использовать утилиту xset, включив ее вызов в скрипт, запускающий X Window System, это обычно startx или xinit. Второй, для некоторых более простой, способ — это внести необходимые изменения в XF86Config.
Рассмотрим эти способы (замечание: речь о скринсейверах здесь идти не будет).
Итак, настройка с помощью утилиты xset. Вся настройка производится парой вызовов xset. Первой командой xset обязательно должна быть команда
xset dpms T1 T2 T3
здесь T1, T2, T3 — это интервалы времени в секундах, через которые активизируются режимы Stend-by, Suspend и Power-off соответственно. Необходимое условие при этом: T1> =T2> =T3. Если одно из чисел равно нулю, то соответствующий режим не включается.
Если Ваш X-сервер не поддерживает энергосбережение по умолчанию (а обычно именно так и есть), то придется выполнить еще одну команду:
xset +dpms
которая разрешит серверу использовать режимы энергосбережения. Это можно сделать и передав X-серверу ключ dpms. Например, при вызове xinit:
xinit -- dpms
Если же вы вдруг захотели отключить энергосбережение, используйте команду
xset -dpms
Замечание. С помощью команды xset можно принудительно включать различные режимы энергосбережения:
xset dpms force stendby
xset dpms force suspend
xset dpms force off
Все эти команды вызывают переход монитора в экономичный режим только при условии, что энергосбережение разрешено (xset +dpms).
Настройка энергосбережения с помощью XF86Config происходит практически так же, что и при вызове xset: необходимо выполнить те же самые установки. Чтобы разрешить серверу запуск режимов энергосбережения, необходимо добавить в секцию Device следующую запись:
Option "power_saver"
Далее, надо добавить в секцию Screen записи:
StandbyTime T1
SuspendTime T2
OffTime T3
где T1, T2, T3, как и ранее, интервалы времени, через которые активизируются режимы Stend-by mode, Suspend mode, Power-off mode, соответственно, но здесь время уже выражается не в секундах, а в минутах.

X-Stranger xstranger@tut.by
www.linux4u.narod.ru


(c) компьютерная газета


Компьютерная газета. Статья была опубликована в номере 41 за 2001 год в рубрике soft :: linux

©1997-2024 Компьютерная газета