вторник, 29 апреля 2008 г.

Управление питанием в Линукс

Оригинал: "Power Management on Linux, Part 1"
Автор: Carla Schroder
Дата: 10 апреля 2008
Сокращенный перевод: Н. Глущенко
Дата перевода: 15 апреля 2008

Управление питанием на компьютерах делится на 3 части:

  • выбор наиболее неприхотливых к энергии устройств;
  • настройка вашей системы для более эффективного энергопотребления;
  • уменьшение энергопотребления в периоды простоя системы;

Сервера, десктопы и лаптопы нуждаются в разных схемах управления питанием, нет единого решения для всех. Первым делом необходимо найти те устройства вашей системы, которые потребляют больше всего энергии, поэтому сегодня мы займёмся измерением энергопотребления вашего железа. Мы также выловим наиболее прожорливые процессы, а в следующей статье, рассмотрим несколько способов получить максимальную отдачу с наименьшими энергозатратами на вашей линукс-системе.

Первое правило в управлении питанием на современном оборудовании заключается в следующем: по-настоящему ничего нельзя выключить, пока не выдернешь шнур из розетки. В своей компьютерной лаборатории я получаю отличный загар и это при выключенном свете. Роутеры, принтеры, устройства бесперебойного питания, динамики и мониторы - все они излучают приятное свечение из множества своих светодиодов и индикаторов. Я уже давно обиделась на выключатели принтеров Hewlett-Packard. Дело в том, что на моем старом HP6L нету никаких выключателей вообще. А у нового Laserjet 3050 есть выключатель, но он расположен сзади снизу и для того, чтобы его найти вам потребуется длинная дважды-сгибающаяся рука.

Главные транжиры электроэнергии - это монитор, процессор, видеокарта, жёсткий диск и сетевой интерфейс. Производители оборудования уделяют много внимания сокращению энергопотребления, потому что при выборе товара это является важным фактором. Для измерения энергопотребления ваших устройств можно использовать устройства, подобные Kill A Watt. С их помощью можно определить, сколько киловатт потребляют ваши устройства и тем самым рассчитать стоимость их включенного состояния.

Самым полезным инструментом для управления энергопотреблением является консольная программа powertop (можно найти в репозиториях большинства дистрибутивов). Она больше подходит для ноутбуков, но для серверов и настольных компьютеров тоже может оказаться полезной. Если после запуска powertop, вы видите сообщение "no ACPI power usage estimate available", то отключите ваш ноутбук от сети электропитания (надо ли говорить, что этого не стоит делать с сервером или десктопом).

PowerTop
PowerTOP 1.9 (кликните для увеличения)

Раньше ядро Линукс вело себя как существо, не знающее усталости. У его таймера частота прерывания находилась в диапазоне от 100 до 1000 Hz. Это означает, что от 100 до 1000 раз в секунду ядро искало чем бы себя занять. Но всё изменилось с выходом ядра 2.6.21. Теперь если ядро находится в бездейственном режиме, то оно действительно бездействует, а не мечется в поисках приключений, тем самым затрачивая больше энергии и вырабатывая больше тепла.

powertop показывает вам, какие процессы пристают к ядру в режиме бездействия, тем самым вы получаете кучу подсказок в плане повышения эффективности. Некоторые вещи очевидны, например Blutooth и Wi-Fi следует выключать, когда вы ими не пользуетесь. Это наиболее значимые потребители драгоценных ватт на ноутбуке и без них батарея протянет гораздо дольше. Эффективность ваших изменений легко замерить при помощи индикатора заряда батареи.

Ещё один пример: демон HAL опрашивает ваш CD/DVD-привод каждые 2 или 16 секунд на предмет наличия нового диска. Поэтому если вы не часто читаете CD или DVD, то его можно отключить следующей командой: hal-disable-polling --device [имя_устройства]. А включить можно так: hal-disable-polling --enable-polling --device [имя_устройства].

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

Но не увлекайтесь отключением процессов, тем самым уменьшая список powertop, ведь тем самым вы снижаете функциональность вашей системы. К тому же последняя версия powertop сама вам подскажет, что неоходимо сделать для понижения энергопотребления системы. Но всё-таки иногда лучше таскать с собой дополнительную батарею, чем быть лишенным полезных возможностей.

В следующей статье мы откроем тайны спящего и ждущего режимов, а также узнаем от том, как убить жесткие диски посредством чрезмерной экономии электроэнергии.

5 режимов выключения компьютера.

В первой части мы узнали, как измерить количество потребляемой энергии вашей системой посредством как специальных приборов, так и программного обеспечения. А также рассмотрели несколько способов, благодаря которым можно уменьшить энергопотребление, не нанося при этом вреда производительности. Сегодня мы погрузимся в мир управления питания на ноутбуках: ACPI, APM, включение и отключение жёстких дисков.

Главная задача в управлении питания на ноутбуках - выжать побольше времени из аккумулятора. Положение в этой области ухудшается из-за того, что ноутбуки становятся всё более мощными и используют большие дисплеи. Например, мой старый Thinkpad R32 работал 3 часа на аккумуляторе, а новый сверкающий двуядерный T61 с трудом протягивает 2 часа. Новые машины ярче и быстрее. Современные ноутбуки с широкоэкранным глянцевым дисплеем работают не дольше 90 минут.

Вы можете увеличить время работы, уменьшив яркость дисплея. К тому же мобильные процессоры можно настроить для более медленной работы. В таком случае работа на старом ноутбуке - не такая уж плохая идея, потому что получаем тот же эффект, но без лишних забот.

Перерыв в работе - основная проблема пользователей ноутбуков, потому что включение и выключение компьютера занимает время и энергию. Вот почему существует несколько степеней отключения:

  • Ожидание;
  • Приостановка;
  • Сон;
  • Гибернация;
  • Полное отключение;
  • Это не официальные названия, в соответствии с ACPI (Advanced Configuration and Power Interface) они выглядят следующим образом:

  • S1- в Линукс это называется "режим ожидания". Процессор переходит в состояние ожидания, кэш процессора очищается. Все устройства всё ещё включены и также находятся в состоянии ожидания, экран выключен;
  • S2 - этот режим включен в характеристику ACPI, но используется редко;
  • S3 - сброс в ОЗУ. Содержимое регистров процессора записывается в оперативную память, сам процессор отключается. Всё остальное оборудование, включая сеть, также отключается. Работает только ОЗУ.
  • S4 - сброс на диск или гибернация. Текущее состояние системы записывается на жёсткий диск и все устройства отключается, кроме сетевого интерфейса с функцией wake-on-LAN.
  • Компьютеры быстро включаются из режимов S1 и S3, вы получаете систему в том состоянии, в котором она была до выключения. Но эти режимы чувствительны к перебоям в питании, поэтому вы можете потерять всю не сохраненную информацию. Включение из режима гибернации занимает больше времени, потому что состояние системы записывается на жесткий диск, но за то компьютер в этом режиме потребляет меньше энергии.

    ACPI против APM

    APM (Advanced Power Management) - старый набор утилит для управления питанием на Линукс. Он крайне прост и основные функции по управлению энергопотреблением APM возлагает на BIOS вашего компьютера. ACPI (Advanced Configuration and Power Interface) - современная замена APM. Стандарт ACPI имеет ряд преимуществ над своим старым собратом, например: управление энергопотреблением предоставляется операционной системе, а не BIOS.

    Компания Intel первая начала вводить технологию динамического энергопотребления для центрального процессора. Теперь процессоры Intel и AMD распределяют энергопотребление в зависимости от нужд. Сетевые интерфейсы, видеокарты и жёсткие диски под управлением ACPI могут перейти в режим ожидания.

    ACPI также поддерживается Windows. Однако, это вызывает ряд проблем, связанных с известной привычкой Microsoft реализовывать стандарты своими нестандартными способами. Несмотря на это, некоторые производители ноутбуков проверяют ACPI в связке с основными дистрибутивами Линукс. Lenovo Thinkpads и ASUS в этом плане мне больше всего нравятся. Ноутбуки Toshiba и Fujitsu тоже хороши, и влияние Линукса на них благоприятно скажется.

    Лёгкий путь.

    Если вы нуждаетесь в простом и удобном управлении питанием на ноутбуке, то я рекомендую вам использовать дистрибутив Линукс, который поддерживает всё это, как говорится, из коробки. Поддержка ACPI включена в свежие релизы Fedora, Ubuntu, SUSE и Mandriva и наверняка в некоторые другие. У Fedora отличное меню настроек, а в опциях отключения есть режимы приостановки и гибернации. Также можно настроить приостановку и гибернацию при закрывании дисплея ноутбука. Просто и понятно, как и должно быть.

    В современных дистрибутивах ACPI настроен по умолчанию. Это легко проверить, следующая команда скажет вам, поддерживает ли ваше ядро ACPI:

    $ grep -i acpi_sleep /boot/config-'uname -r'

    CONFIG_ACPI_SLEEP=y
    CONFIG_ACPI_SLEEP_PROC_FS=y
    CONFIG_ACPI_SLEEP_PROC_SLEEP=y

    Или проверьте какой демон запущен:

    $ ps ax|egrep "apmd|acpi"

    4720 ? S 0:00 hald-addon-acpi: listening \
    on acpid socket /var/run/acpid.socket
    5239 ? Ss 0:00 /usr/sbin/acpid -c \
    /etc/acpi/events -s /var/run/acpid.socket

    Эти примеры показывают, что ACPI поддерживается и работает.

    Пакет laptop-mode-tools - интересный инструмент для настройки энергопотребления жёсткого диска на вашем ноутбуке. Эти утилиты поддерживают также работу с другими устройствами, но их основная направленность - управление включением и выключением жёсткого диска. laptop-mode-tools работает следующим образом: в периоды, когда вы не работаете с жёстким диском - он отключается, а включается при первом же обращении. Таким образом на работу системы затрачивается меньше энергии. Однако, у этого метода есть существенный недостаток: его лучше применять только к жёстким дискам для ноутбуков, потому что их жизненный цикл рассчитан на 600 000 включений. А для десктопов эта цифра составляет всего 50 000 включений, поэтому использование laptop-mode-tools может быстро вывести из строя ваш винчестер. 30 секунд в минуту - оптимальный интервал отключения, большее значение не способствует экономии электроэнергии.

    laptop-mode-tools входит в состав Debian и Ubuntu. Для других дистрибутивов этот пакет можно найти на сайте Laptop Mode. laptop-mode-tools автоматически интегрируется в ACPI, поэтому этот инструмент в курсе когда ваш ноутбук работает от аккумулятора.

    Карла Шрёдер - автор книги "Сборник Рецептов для Линукс" и недавно выпущенного "Сборника Рецептов для сетей Линукс".

    Комментариев нет: