Powertop linux как использовать
Для компьютеров или серверов энергопотребление операционной системы не имеет особого значения, но когда дело доходит до ноутбуков и других портативных устройств дело меняется кардинальным образом. Мы хотим чтобы наше устройство работало как можно дольше от батареи и потребляло как можно меньше её заряда.
На это очень сильно влияет операционная система, насколько будет загружен процессор, жесткий диск, будут ли включены Bluetooth и WiFi адаптеры. Все это потребляет энергию и все можно настроить. В этой статье мы рассмотрим как настроить энергосбережение Linux и заставить ваш ноутбук работать как можно дольше.
Энергосбережение в Linux
1. Используйте встроенные возможности
Вам не всегда нужна максимальная мощность и производительность. Это нужно в играх или при использовании тяжелых программ, но ненужно при просмотре фильмов или серфинге в интернете, а тем более не нужно, когда вас нет рядом с компьютером. В настройках Ubuntu есть несколько опций управления питанием, которые помогут улучшить энергосбережение.
Откройте Параметры системы, затем пункт Электропитание:
Здесь вы можете установить через сколько времени простоя нужно перевести компьютер в режим ожидания, через сколько времени бездействия тушить экран, а также действия при закрытии крышки ноутбука.
2. Отключите Bluetooth
Модуль Bluetooth потребляет энергию и очень много, надеюсь вы помните насколько быстро разряжались батареи телефона, когда вы забывали выключить bluetooth. А здесь он включен постоянно и постоянно расходует энергию даже если он не нужен в данный момент.
Отключить Bluetooth можно отключить с помощью значка на панели, просто переключите ползунок в значение Выкл или нажмите Отключить Bluetooth в более старых версиях.
Чтобы полностью отключить Bluetooth, удалите его службу из автозагрузки системы, а также добавьте в автозагрузку команду:
sudo rfkill block bluetooth
Также, если вы планируете полностью отключить bluetooth желательно добавить его драйвера в черный список:
sudo vi /etc/modprobe.d/no-bluetooth.conf
blacklist btusb
blacklist bluetooth
3. Отключите Wifi
Если вы пользуетесь беспроводной технологией Wifi, то должны знать, что она тоже потребляет много энергии, поэтому ее лучше заменить на более энергоэффективный проводной интернет. Даже в фоновом режиме, когда вы не подключены ни какой сети ваша wifi карта будет сканировать эфир для поиска доступных сетей.
Отключить wifi тоже очень просто. Для этого достаточно нажать на индикатор управления сетями и выбрать пункт Сети Wifi, а затем Выключить:
Чтобы автоматически отключать WiFi при старте системы добавьте в автозагрузку команду:
sudo rfkill block wifi
4. Яркость экрана
Очевидно, что чем ярче работает экран, тем больше энергии он потребляет. Самый надежный и самый эффективный способ снизить энергопотребление Linux - это снизить яркость.
Нам не всегда нужна максимальная яркость, просто сделайте её такой чтобы вам было удобно. Для изменения яркости можно использовать горячие клавиши на клавиатуре или же настройки системы.
В настройках системы откройте пункт Яркость и блокировка. Затем отрегулируйте ползунок настройки яркости, также можно установить флажок тусклый экран для экономии энергии.
Также разработчики из команды развития ядра Ubuntu заметили, что жидкокристаллические экраны потребляют меньше энергии со светлыми обоями. На отрисовку темных цветов уходит на 1-2% большое тока.
Если яркость не меняется, попробуйте добавить к параметрам ядра в Grub такую строчку - acpi_backlight=vendor. После обновления конфигурации и перезагрузки все должно заработать.
Также вы можете менять яркость прямо через терминал, для этого используйте утилиту xbacklight:
sudo apt install xbacklight
xbacklight -set 15
5. Отключите внешние USB устройства
Вы можете подключать различные USB устройства к своему ноутбуку, например флешки, веб-камеры, телефоны и т д. Но все они потребляют энергию. Отключите устройства, которые сейчас не нужны, также безопасно извлеките флешки, MTP камеры и внешние диски.
6. Отключите другие ненужные устройства
Веб-камеры, GSM модемы и другие устройства тоже потребляют энергию и их лучше выключить. Например, чтобы отключить веб-камеру нужно добавить ее драйвер в черный список:
sudo vi /etc/modprobe.d/no-webcam.conf
Вы можете увидеть все активные устройства с помощью такой команды:
Отключите все неиспользуемые устройства, только будьте осторожны и не выключите чего-нибудь лишнего.
7. Отключите дискретную видеокарту
Если в вашем ноутбуке есть возможность переключения видеокарт с интегрированной в процессор на более мощную дискретную, то вторую желательно выключить. Это очень сильно уменьшит потребление энергии Linux.
Обычно для этого можно использовать модуль vgaswitcheroo. Для отключения второй GPU выполните:
sudo -i
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
8. Закройте ненужные приложения
Чем больше программ вы используете, тем больше энергии потребляет процессор, и больше активность оперативной памяти, а также жесткого диска. У нас всегда открыто множество программ, например, VLC, Chrome, Terminal, Rhythmbox и так далее. Но мы используем далеко не все из них.
Посмотрите какие приложения открыты на боковой панели и завершите те, которые вам не нужны. Чтобы закрыть программу достаточно щелкнуть по ее значку правой кнопкой и нажать закрыть.
9. Не используйте Flash Player
Программа для потокового воспроизведения видео и другого флеш контента - Flash Player потребляет очень много энергии. Поэтому отказ от его использования еще больше продлит время работы Linux на вашей батареи.
Используйте браузер в котором можно включить флеш по требованию. Например, в Firefox можно настроить включение Flash только когда это очень нужно, а для Chrome есть плагин PowerSaver, который позволяет сделать тоже самое.
Чтобы смотреть фильмы и видео используйте аппаратное ускорение. Это передает обработку видео на GPU, тем самым уменьшая нагрузку на процессор и расход энергии. Эту технологию поддерживают VLC и MPV. Также нужно включить аппаратное ускорение в браузерах.
10. Используйте легкое окружение рабочего стола
Такие окружения рабочего стола как KDE, Cinnamon, Unity, Gnome потребляют гораздо большое энергии чем легкие окружения, поскольку тут есть множество фоновых служб и приложений, которые запущены и выполняются по умолчанию. Поэтому лучше выбрать более легкое окружение, например LXDE, LXQt или XFCE.
11. Используйте TLP
TLP - это очень популярный инструмент, который улучшает энергосбережение Linux путем настройки различных параметров ядра и потребляемой мощности для различных устройств компьютера.
Вы можете настроить такие параметры:
- Разим ноутбука и таймаут перед сбросом данных на жесткий диск.
- Изменение частоты процессора.
- Распределение питания для ядер в многоядерных системах.
- Управление питанием жесткого диска.
- Управление питанием PCI устройств.
- Режим энергосбережения для Wifi.
- Отключение дисковода.
- Режим экономии энергии звуковой карты.
Утилита по умолчанию содержит настройки, которые сильно повысят автономность ноутбука и подойдут для большинства пользователей. Для установки утилиты используйте команду:
sudo apt install tlp
Затем добавьте ее в автозагрузку:
sudo systemctl enable tlp
Если вы хотите немного настроить tlp, можно воспользоваться для этого графическим интерфейсом TLPUI. Он написан на Python3, поэтому для его установки достаточно склонировать репозиторий:
Затем для запуска утилиты перейдите в папку TLPUI и выполните команду в терминале:
cd TLPUI
python3 -m tlpui
Здесь AC означает питание от сети, а BAT - питание от батареи. Далее все параметры настраиваются для этих двух режимов работы.
12. Отслеживание энергопотребления
Нужно не только уметь улучшить энергосбережение Linux но и отслеживать потребление энергии, чтобы вовремя понять что именно расходует батарею. Для этих целей можно использовать утилиту powertop. Установите ее с помощью команды:
sudo apt install powertop
Затем создайте отчет за нужное вам время, например, за 60 секунд:
sudo powertop --time=60 --html=power_report.html
Дальше вы можете открыть этот файл в вашем браузере и посмотреть что еще нужно оптимизировать.
Выводы
Мы рассмотрели достаточно способов, с помощью которых вы можете улучшить энергоэффективность Ubuntu 16.04 и продлить время работы своего ноутбука без сети. Если вы знаете другие методы, обязательно поделитесь ими в комментариях!
Для использования утилиты необходимо наличие ядра с незафиксированным временем тика (NO_HZ), а это ядра, начиная с версии 2.6.21.
На данный момент есть поддержка только 32-х разрядной архитектуры, 64-х битная будет поддерживаться начиная с ядра 2.6.23.
Ну и конечно же, PowerTOP лучше всего запускать на портативных компьютерах, или компьютерах с мобильными версиями процессоров от Intel. Для запуска программы, надо переключиться на работу от батареи!
Краткая информация
Вот приведен снимок экрана с запущенной утилитой:
C-State
C-State – это режим работы процессора. Чем больше число, тем меньше энергии потребляет компьютер, но тем дольше ему надо будет расчехляться, что б заработать на полную мощность.
С0 – это состояние, когда процессор исполняет команды. Во всех других режимах, процессор – простаивает.
Для получения наиболее впечатляющих результатов энергосбережения, процессор должен находиться в состоянии С3 или С4 большую часть времени простоя. Чем больше среднее время процессор находиться в подобном состоянии, тем больше энергии он сохранит. Идеально было бы, если б 95% времен процессор находился в состоянии С4, на среднее время от 50 миллисекунд.
На картинке мы видим, что дела у лэптопа не особо хороши. Большую часть времени он проводит в режиме С2 и то, только на среднее время 4,4 миллисекунды. Если же лэптоп будет проводить большую часть времени в режиме С4, хотя бы на среднее время 20 миллисекунд, это должно увеличить жизнь батареи приблизительно на 1 час.
Пробуждения в секунду (Wakeups per second)
Пробуждения в секунду – это еще один показатель работы вашего лэптопа в плане экономии энергии. Чем меньше число, тем лучше. Когда вы запустили стандартный GNOME, то 3 пробуждения в секунду – это допустимо. На лэптопе с картинки, видно, что 193 – гораздо больше трёх, что вполне совпадает с показателями С-режима.
Использование батареи (Power usage)
При запуске утилиты, если вы прислушались к рекомендациям и работаете от батареи, то можно увидеть некоторую дополнительную информацию. Утилита обращается к ACPI, для сбора информации о текущем потреблении энергии, а также выводит информацию о предположительном времени жизни батареи (не вообще, а на этой зарядке).
Если вы не послушались и не запустили на компьютере работающем от батареи, такой интересной информации вы не увидите!
Предпосылки для большого числа пробуждений в секунду
Теперь, мы видим, что подопытный лэптоп не очень хорошо работает в плане сохранения энергии. И теперь вот самая интересная часть: что же заставляет компьютер тратить больше энергии, чем нам хотелось бы.
Утилита покажет вам 10 самых активных компонентов системы или программ, которые заставляют ее так часто пробуждаться. На картинке, тремя самыми затратными вещами есть аппаратные прерывания от драйверов. Это показывает нам одно из упущений данного ноутбука – в то время, как он подключен в сети по кабелю, драйвер беспроводной сети (ipw2200) все еще очень часто отвлекает наш процессор. Так же можно увидеть ошибку графического драйвера i915 и активность компонента i8042 (это чип PS/2, показанная активность – результат движения мыши, для создания снимка экрана).
Картинка так же показывает, что Firefox, Xorg, xchat – очень активны и как результат сильно влияют на потреблении энергии компьютером.
Подсказки
В последней секции, утилита показывает вам подсказку – что текущее ядро сконфигурировано не оптимально и предлагается пути устранения этого недоразумения.
В этой статье я расскажу о том, как с помощью нескольких простых действий можно значительно продлить время автономной работы мобильного устройства под управлением Linux. Как обычно, всё будем делать в терминале. Моя ОС - Ubuntu, но все команды справедливы и для других ОС. В случае команд установки просто нужно использовать менеджер пакетов вашей системы. Проводить оптимизацию электропитания мы будем с помощью замечательной утилиты powertop . Итак, поехали.
Для начала переключимся в режим рута да бы не вводить каждый раз sudo:
Далее выполняем установку утилиты:
apt update
apt install powertop
После установки запускаем powertop командой
powertop
Переключать вкладки мы можем с помощью клавиш <TAB> и <Shift> + <TAB>, выход - клавиша <ESC>. Нажмем 4 раза клавишу <TAB> и перейдём во вкладку " Tunables ". Здесь мы видим список устройств и их статус " Bad " или " Good ". Теперь нам нужно пройти по всем строкам со статусом " Bad " и нажать <ENTER>. Это действие изменит статус параметра на " Good ", отправив нужную команду устройству. Хочу акцентировать ваше внимание на одном важном моменте. Если у вас есть устройства типа тачпада на шине USB, то оптимизация по питанию может привести к не комфортной работе такого устройства. Покажу 2 скриншота своих настроек до и после:
Обратите внимание на выделенную строку. Это и есть мой тачпад во внешней клавиатуре. Если его прооптимизировать, то пользоваться им становится крайне не комфортно из-за задержек на пробуждение устройства. Тем не менее на других моих устройствах подобных проблем нет и это скорее исключение, чем правило.
Итак, мы выполнили настройку. Теперь нужно сказать системе, чтоб она применяла настройки после перезагрузки. Если вы установили абсолютно все параметры в состояние " Good ", то самый простой вариант использовать powertop c ключом --auto-tune . Давайте превратим наш powertop в сервис systemd. Создаём файл:
touch /etc/systemd/system/powertop.service
Дальше открываем его для редактирования:
mcedit /etc/systemd/system/powertop.service
и вставляем следующий контент:
[Service]
Type=idle
ExecStart=/usr/sbin/powertop --auto-tune
Сохраняем изменения и выполняем команды:
systemctl daemon-reload
systemctl enable powertop.service
Всё, теперь после перезагрузки powertop автоматически настроит вашу систему.
Пожалуйста, не забывайте ставить лайки если материал вам понравился или был полезным.
Ещё хочу поинтересоваться, будет ли интересно моим читателям узнать о том, как можно с помощью ряда достаточно простых действий сделать собственный красивый и уникальный интерфейс (окружение рабочего стола). Пожалуйста, ответьте в комментариях на этот вопрос. Также можете написать интересующие вас вопросы. Это мне поможет с выбором темы для следующих статей.
Мой ноутбук — Acer TMX349-M-535L. Это очень удачная железка. Единственный его недостаток в том, что он может быть шумным. Я производил настройку в Elementary OS, но в Ubuntu то же самое. С базовыми настройками системы ноутбук шумит практически всегда. Но, если уделить немного внимания настройкам энергоэффективности, то его будет слышно лишь тогда, когда это действительно нужно. Остальное время он будет радовать тишиной, да и работать от батареи станет дольше.
Шум в этой модели — это пара вентиляторов системы охлаждения. Больше внутри ноутбука шуметь нечему. Диск — твердотельный, оптический привод отсутствует. Разборка Acer TravelMate TMX349-M-535L.
Датчики
Когда требуется снизить скорость вращения вентиляторов, то пользователи Linux обычно обращаются к программам lm_sensors (Linux-monitoring sensors) и fancontrol .
Первая представляет собой набор утилит и драйверов, которые позволяют отслеживать показания датчиков температуры, напряжения и скорости вращения вентиляторов. Вторая — это уже непосредственно инструмент изменения скорости вращения вентиляторов. Скорость можно автоматически менять, в зависимости от показаний температуры.
Теперь определить и посмотреть датчики можно командами:
У меня не получилось пойти по этому пути. Утилита sensors-detect для Acer TMX349-M-535L нашла всего один интерфейс из числа поддерживаемых, где доступны только показания датчиков температуры. Датчики вентиляторов полностью отсутствуют:
Иногда, когда не все датчики доступны, то может помочь параметр:
Он прописывается, как дополнительный в загрузчик Grub.
Делается это в файле etc/default/grub в таком виде:
Мне это не помогло.
Не помог и поиск в интернете. Модель ноутбука и его материнская плата нигде не упоминается в руководствах настройки датчиков скорости вращения вентиляторов.
Узнать материнскую плату ноутбука можно так:
Проблема
Управление скоростью вращения вентиляторов — это борьба со следствием, а не с причиной проблемы. Причина — это чрезмерное использование ресурсов ноутбука на ровном месте. Ресурсы используются — железо греется, вентиляторам неизбежно приходится работать на повышенных оборотах.
И это действительно было странно наблюдать. Ноутбук бездействует, каких-то ресурсоёмких задач не выполняется. Тем не менее, его вентиляторы во всю жужжат. Обороты не максимальные, но слышно очень хорошо, особенно в тишине.
Решение
С целью оптимизации использования ресурсов ноутбука и увеличения времени его автономной работы существуют специальные программы. Наверное, их много всяких. Я пробовал использовать две, самые рекомендуемые в Linux-cообществе — это PowerTOP и TLP .
PowerTOP
Сразу скажу, что после экспериментов я отказался от использования PowerTOP . Но на всякий случай я всё же расскажу про неё. Может, потом мне или кому-нибудь эта информация всё же пригодиться.
Это консольная программа, показывающая статистику расходования энергии различными процессами, выполняемыми в системе. По каждому процессу видно, сколько за секунду к нему происходит обращений и сколько по времени они длятся. Показания суммируются.
В результате мы имеем сводку по количеству обращений (пробуждений), текущему расходу батареи, оставшемуся времени работы от батареи:
Всё это показывается не просто так. Пользователю предоставляется возможность влиять на обращения к процессам. Настройки доступны на отдельной вкладке «Tunables», куда можно переключиться клавишей «Tab». Здесь отдельным службам и устройствам можно разрешить автоматический уход в спячку. Чем меньше служб и устройств будет постоянно бодрствовать, тем лучше.
Чтобы PowerTOP постоянно контролировала систему нужно запустить её, как службу. Для этого требуется создать файл /etc/systemd/system/powertop.service , его содержимое:
Обратите внимание, что запуск службы в файле можно выполнять одним из двух способов. Закоментируйте первый и раскоментируйте второй, если он вам больше подходит.
Убедитесь, что атрибуты на созданный файл такие же, как у других аналогичных файлов в этом же каталоге. Поменяйте если требуется.
Включение автозапуска службы:
Есть ещё процесс калибровки, запускается командной:
Экран погаснет, потом будет менять яркость, потом снова погаснет, потом всё восстановится. Занимает калибровка примерно 5-10 минут, ноутбук должен при этом работать от аккумулятора, трогать его не рекомендуется. Прерывать процесс тем более не рекомендуется.
Программа PowerTOP интересная. Многие пишут, что она помогает. Но в моём случае она оказалась неэффективной. Вентиляторы продолжали жужжать.
Итак, вторая программа — TLP , установка:
Вначале добавляем фирменный репозиторий. Там версия более новая, я использовал её.
Вывод всякой полезной информации, текущих настроек:
Вывод информации и текущих настроек именно по процессору:
Моя выдача, уже настроенная:
По умолчанию программа TLP настроена очень поверхностно и поэтому работает тоже не очень неэффективно. Чтобы улучшить ситуацию выполняем следующие действия.
Отключаем всё управление частотами процессора, которые могут быть в дистрибутиве по умолчанию. Это сделать нужно обязательно, т.к. TLP возмёт на себя эту обязанность и нельзя допускать, чтобы что-то при этом мешалось. Официальная документация. Рекомендую заглянуть туда на всякий случай, может быть в будущем, когда вы читаете эту статью, что-то поменялось. Команда отключения:
Открываем в редакторе файл /etc/tlp.conf , я пользуюсь mc и встроенным редактором — кнопка «F4». Здесь проверяем параметры, все они должны быть раскомментированы:
- TLP_ENABLE=1 — автозапуск программы при старте компьютера.
- CPU_SCALING_GOVERNOR_ON_AC=powersave — включаем функцию энергосбережения при питании от сети.
- CPU_SCALING_GOVERNOR_ON_BAT=powersave — включаем функцию энергосбережения при питании от аккумулятора.
- CPU_MIN_PERF_ON_AC=0 — разрешаем снижать частоту процессора до минимально возможной при питании от сети.
- CPU_MAX_PERF_ON_AC=100 — разрешаем повышать частоту процессора до максимально возможной при питании от сети.
- CPU_MIN_PERF_ON_BAT=0 — разрешаем снижать частоту процессора до минимально возможной при питании от аккумулятора.
- CPU_MAX_PERF_ON_BAT=75 — разрешаем повышать частоту процессора до 75% от максимально возможной при питании от аккумулятора.
- CPU_BOOST_ON_AC=1 — разрешаем Turbo boost при питании от сети.
- CPU_BOOST_ON_BAT=0 — запрещаем Turbo boost при питании от аккумулятора.
Следующие два параметра надо наоборот закомментировать в файле:
Запускам обратно службу и наслаждаемся результатом:
Мой результат
Теперь, когда ноутбук бездействует, то его абсолютно не слышно!
То же самое, если выполнять какие-то несложные операции или посещать сайты не перегруженные скриптами и рекламой. Работать в тишине можно с настройками системы, файлами, некоторыми программами, да и много ещё чем.
Нагрузить ноутбук, чтобы он зашумел — не проблема. Но теперь этот шум хотя бы не просто так.
Дополнительно к проделанной оптимизации энергоэффективности я бы всё же не отказался поиграться с настройками скоростей вращения вентиляторов. Меня не покидает надежда, что когда-нибудь мне удастся достучаться до соответствующих датчиков.
Читайте также: