- Управление питанием в Линукс, часть 2
- Детальная настройка энергосбережения на нетбуках и ноутбуках в Ubuntu
- Содержание
- 1 метод (стандартный): Power.sh
- Плюсы данного метода:
- Минусы:
- 2 метод: Switch Mode Power Supply (SMPS)
- Плюсы данного метода:
- Минусы:
- Заключение
- О том, как я заставлял Ubuntu работать 10 часов от батареи
- Содержание поста.
- 1. Отключаем дискретную видеокарту.
- 2. Полезные советы по энергосбережению.
- 3. Некоторые проблемы ноутбука (связанные с энергосбережением) и их решения.
Управление питанием в Линукс, часть 2
Оригинал: Power Management on Linux, Part 2
Автор: Carla Schroder
Дата: 17 апреля 2008
Перевод: Н. Глущенко
Дата перевода: 25 апреля 2008
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’
Или проверьте какой демон запущен:
$ 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, поэтому этот инструмент в курсе когда ваш ноутбук работает от аккумулятора.
Карла Шрёдер — автор книги «Сборник Рецептов для Линукс» и недавно выпущенного «Сборника Рецептов для сетей Линукс».
Источник
Детальная настройка энергосбережения на нетбуках и ноутбуках в Ubuntu
Содержание
В этой статье я хочу рассказать, как автоматизировать процесс перевода вашего ноутбука/нетбука из режима питания от сети в автономный режим и обратно, не используя каждый раз что-нибудь на подобии PowerTop и других утилит. Всё, что вам понадобится, это желание продлить время работы от батареи, консоль, текстовый редактор (я рассматриваю в качестве примера Gedit для среды Gnome и Kate для KDE, но вы можете использовать свой). И так, начнём!
Для начала, прошу прочитать эти 2 статьи:
Данные и решения, приведённые в этих инструкциях будут использоваться в данной статье.
1 метод (стандартный): Power.sh
В Ubuntu есть скрипт, который выполняется каждый раз, когда вы переключаете режимы питания (подключаете/отключаете сеть). Найти его можно в /etc/acpi/ Мы можем вписать в него инструкцию, которая будет применяться в момент смены режима.
В языке Bash имеется функция «on_ac_power», которая возвращает «true», если сеть подключена и «false» в обратном случае. Воспользуемся этим:
Конструкция №1.
Надеюсь, вы прочитали ссылки, приведённые выше? Они нам сейчас понадобятся! Теперь откроем наш скрипт power.sh и внесём изменения:
Вносим данную конструкцию сразу после строки «#!/bin/sh». Теперь, вносим в наш код команды из статьи «Оптимизация энергопотребления». В качестве примера привожу свой файл /etc/acpi/power.sh:
Содержимое файла /etc/acpi/power.sh
Сохраняем изменения в файле. Всё! Теперь вы спокойной можете ожидать от своего ноутбука/нетбука прироста времени работы. В моём случае он составляет окло 20-30 минут.
Плюсы данного метода:
Минусы:
2 метод: Switch Mode Power Supply (SMPS)
Этот метод разработан мной. Он является не «стандартным», но имеет некоторые преимущества. В этом методе мы будем использовать демон, который будет загружаться вместе с компьютером, висеть в памяти и проверять через каждые N секунд состояние адаптера. Собственно, сам демон:
Демон «Switch Mode Power Supply»
Сам демон будет лежать в каталоге /usr/bin/, а настройки, которые он производит мы положим в /etc/smps/. Во-первых, так мы сможем исключить дублирование в коде демона, во-вторых, облегчим настройку.
Поместим нашего демона в /usr/bin/:
Вписываем код в открывшееся окно и сохраняем изменения в файле. Теперь сделаем файл исполняемым:
Теперь создадим скрипт, который будет меня значения:
В открывшееся окно вписываем в качестве первой строки «#!/bin/sh». А дальше конструкцию №1, добавив в неё свой код. У вас должно получиться что-то вроде этого:
Содержимое файла /etc/smps/smps_config.sh
Сохраняем изменения и даём права на исполнение:
Теперь настроим запуск нашего демона при старте системы:
Теперь добавьте перед строкой «exit 0» добавьте следующий код:
Сохраняем изменения в файле и перезагружаем компьютер. При следующей перезагрузке демон «Switch Mode Power Supply» будет запущен автоматически и будет каждые 10 секунд проверять состояние адаптера и, в случае, если оно изменилось с момента последней проверки, изменит параметры системы на установленные вами.
Плюсы данного метода:
Минусы:
70 килобайт вашей ОЗУ.
Заключение
И так, мы узнали, как можно автоматизировать процесс переключения между режимами электропитания, не прибегая к вводу команд в терминал при каждом отключении кабеля питания или запуску PowerTop. В моём случае, данные решения помогли облегчить мне жизнь и продлить жизнь моего ноутбука в автономном режиме с 1 часа 40 минут до 2 часов и нескольких минут в режиме сёрфинга по интернету и до 2 часов 30 минут в режиме просмотра HD видео в полно экранном режиме.
Для составления этой статьи использовались следующие ресурсы:
Источник
О том, как я заставлял Ubuntu работать 10 часов от батареи
Я являюсь рядовым линукс-пользователем и поэтому не стоит от этой статьи ожидать очень умных ходов или нестандартных программистских решений. Все по мануалам. Но раз результат достигнут, значит кому-то кроме меня это может оказаться полезным.
О том, как заставит ноутбук работать под линуксами как можно дольше, написано немало, в том числе и на хабре. В какой-то степени я еще раз соберу все советы воедино, от очевидных до обскурных, заодно опишу несколько проблем и решений, которые у меня оказались достаточно «индивидуальными».
Устанавливал я Ubuntu 10.10 на ноутбук Acer Aspire Timeline 5810TG. Эта машина обладает экраном в почти 16 дюймов и относительно производительным железом, зато батарея достаточно емкая, чтобы ставить с ней личные рекорды.
Содержание поста.
1. Отключаем дискретную видеокарту.
2. Полезные команды для энергосбережения.
3. Проблемы ноутбука (связанные с энергосбережением) и их решения.
4. Автоматизация.
5. Дополнительные советы.
1. Отключаем дискретную видеокарту.
В моем ноутбуке имеется возможность переключаться между встроенным графическим чипом от Intel, маломощным и малотребовательным к электроэнергии, и сравнительно сильной и энергоемкой карте ATI Radeon HD4330. Многие обладатели ноутбуков с переключаемой графикой испытывают проблемы в работе с Linux-системами. Поиск по «ubuntu switchable graphics» на убунтуформус выдает больше 50 страниц тем.
Мне производительная графическая карта нужна редко, поэтому я задался целью отключить ее по умолчанию с возможностью быстрого и безболезненного включения.
Очень много читал те самые 50 страниц форумных тем. А надо было всего лишь заглянуть в убунту-вики или даже попробовать воспользоваться хабрапоиском.
В версиях ядра, начиная с 2.6.34, присутствует механизм vga_switcheroo, позволяющий переключаться между видеокартами. То есть в Ubuntu 10.10 он есть по умолчанию. О том, как им пользоваться, хорошо было написано здесь (см. второй способ) почти год назад, я по-быстрому напомню, что к чему.
Вначале выполним
Зная, какой GPU как обозначается, посмотрим, какой из них в каком состоянии.
Плюсик стоит на против видеочипа, который используется в данный момент, Pwr означает, что видеокарта включена и потребляет энергию.
Важно: у всех моих немногих знакомых, обладающих ноутбуками с двумя видеокартами, картина одинаковая: что бы вы не делали, при загрузке системы обе карты работают, при этом для вывода используется встроенная «слабая» графика. Это нам на руку, ибо обесточивание неактивной видеокарт происходит бескровно.
Команда отключает неиспользуемую GPU сразу же. Поэтому мы обратимся к файлу /etc/rc.local, добавив в него вышеуказанную команду (перед строчкой exit 0). Так, при загрузке систему дискретная видеокарта уже будет отключена и мне не нужно будет беспокоиться ни о чем.
Важно: насколько я могу судить, vga_switcheroo не работает, если установлены проприетарные драйверы на дискретную видеокарту.
Кстати, если вы хотите переключаться между видеокартами через графический интерфейс, установите Ubuntu Control Center. Программа представляет собой панель управления параметрами Ubuntu, но нас она интересует исключительно из-за опции переключения между GPU (естественно, здесь это тоже происходит средствами vga_switcheroo).
Будьте аккуратны с UCC: во-первых, работает кривовато, например, мне необходимо было вначале переключиться на дискретную видеокарту, а лишь затем на встроенную, чтобы обесточить дискретную (либо вначале выполнить echo OFF > /sys/kernel/debug/vgaswitcheroo/switch, а затем переключаться на встроенную GPU). Но работает. Во-вторых, переключение происходит сразу, то есть без спросу выполняется завершение сеанса и приходится вновь залогиниваться.
Больше о переключаемой графике можно почитать в хабрапосте, на который я дал ссылку выше, а также в Убунту-вики и в этом блоге. Я к этому вопросу возвращаться не буду.
2. Полезные советы по энергосбережению.
Собирались эти советы с lesswatts, ubuntuforums, учитывались хинты от powertop, кое-что было найдено случайно.
1) Если у вас стоит убунту на ноутбуке, стопроцентно у вас установлен пакет laptop_mode, оптимизирующий работу компьютера в зависимости от источника питания. Значение 0, посылаемое в /proc/sys/vm/laptop_mode, отключает режим энергосбережения, 5 устанавливает самый агрессивный. Подробнее о том, как именно laptop_mode сберегает энергию, можно прочесть где угодно.
2) Режим энергосбережение для SATA-устройств.
Не знаю, почему у меня в /sys/class/scsi_host/ целых шесть устройств 🙂 Для включения максимального быстродействия выполнить команды с max_performance вместо min_power.
3) По умолчанию в Ubuntu есть четыре профиля работы процессора:
conservative: медленно повышает частоту процессора в зависимости от нагрузки на систему и резко сбрасывает частоту к минимальной при простое.
ondemand: быстро повышает частоту процессора при возрастании нагрузки и медленно сбрасывает частоту к минимуму при простое.
powersave и performance, очевидно, соответствуют минимальной и максимальной частотам CPU. Многие независимые пользователи крайне не советуют использовать режим performance, поэтому даже для работы от сети, когда экономить на ваттах нет смысла, я использую режим ondemand.
4) Параметр ‘sched_mc_power_savings’ из /sys/devices/system/cpu/ позволяет использовать энергосберегающий режим работы процессора в случае, если у того более одного ядра, благодаря особому распределению нагрузки между ядрами.
5) Встроенные аудио-чипы от Intel (которые принадлежат к т. н. High Definition Audio — HDA) также имеют возможность экономии ватт, если звуковой чип не используется
6) Для того, что выиграть еще чуть-чуть времени работы батареи, можно запретить системе время от времени «опрашивать» cd/dvd-привод на предмет наличия там диска.
7) Можно выключить к черту веб-камеру вместе с драйвером. Не проверял отдельно, но сообщают, что дело очень хорошее при работе от батареи. Естественно, пропустите этот шаг, если вам придется использовать скайп или еще для чего-то понадобится камера.
8) Dirty ratio — максимальный размер памяти (в процентах), для хранения грязных данных прежде чем процесс, их сгенерировавший, будет принужден записать их. Чем выше значение, очевидно, тем реже производится запись и тем меньше активность жесткого диска и системы.
9) Dirty background ratio — минимальное число памяти (в процентах), где позволено хранить гразные данные вместо записи на диск. Этот параметр должен быть намного меньше чем dirty_ratio что бы позволить записывать куски грязных данных за один проход.
10) Dirty Writeback sentisecs — как часто ядро должно проверять есть ли «грязные» (измененные) данные для записи на диск (в сантисекундах). Чем выше значение, очевидно, тем реже используется диск для записи грязных данных.
11) Включение режима энергосбережения PCI Express, как говорят люди, позволяет экономить достаточно много энергии батареи.
3. Некоторые проблемы ноутбука (связанные с энергосбережением) и их решения.
Проблема 1. Не работает изменение яркости экрана. Яркость всегда стоит на максимуме. Это критичный момент для энергосбережения, так как яркая подсветка дисплея съедает уйму электроэнергии. Эта проблема наблюдается на многих ноутбуках, на Acer’ах особенно часто. Симптом: изменение яркости с помощью gnome-апплета не дает эффекта, сколько ползунок не таскай, переключение клавишами FN+Right, FN+Left, или аналогичными Fn-комбинациями вешает систему, помогает лишь хард-ресет.
Решение оказалось не самым практичным, но достаточно простым:
Здесь ХХ принимает значения от 00 до FF в шестнадцатеричной системе. Для работы от батареи я выбрал значение 40, для работы от сети — FF.
Источник