Оптимизация энергопотребления для системы Linux/Unix - это не простые задачи. У нас было очень мало содержимого об этой теме, и немногие люди, доступные для обсуждения этого. Этот учебник предназначен для пользователей ноутбуков Nvidia/Ubuntu.
PowerTop - PowerTop - это инструмент мониторинга, разработанный Intel для перечисления всех устройств, которые имеют режимы работы питания и настраивают их. Мы можем установить PowerTop с командной линией Bolow:
sudo apt install powertop
Первый шаг с помощью PowerTop - калибровать показания на питании аккумулятора с помощью команды:
sudo powertop -c
Для запуска каллибрации займет около 10 минут. Система будет включать и выключать дисплей и выключать, и не может сделать ничего еще во время процесса. PowerTop может быть использован сам по себе, чтобы увидеть, что использует ресурсы в вашей системе. Это должно быть оставлено открытым на небольшое количество времени для сбора статистики и быть точным.
powertop
Мы также можем генерировать отчеты с PowerTop
sudo powertop --html=report.html
Полезно посмотреть, какие процессы работы или приложения требуют больше энергии. Вы можете удалить их или изменить некоторые настройки, чтобы уменьшить использование питания.

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

На изображении ниже, в разделе Treatables мы видим все устройства, которые имеют режимы питания, доступные для настройки. Плохая этикетка показывает нам, какие устройства работают в режиме производительности. Нам нужно настроить большинство из них на хорошую метку, чтобы получить режим сохранения питания.

Некоторые устройства, такие как USB -контроллеры для Mouses, не должны быть помещены в режим сохранения питания, или мы можем испытать некоторые поведения, такие как остановка мыши для работы в течение некоторого времени. Мы можем включить или отключить режим сохранения питания, просто сжимая пространственную клавишу.
Мы можем включить все предлагаемые настройки, выполняющие командную строку:
sudo powertop --auto-tune

$ grep . /sys/devices/system/cpu/cpu0/cpufreq/*
/sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:0
/sys/devices/system/cpu/cpu0/cpufreq/base_frequency:2200000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:2200000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency:0
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences:default performance balance_performance balance_power power
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference:balance_performance
/sys/devices/system/cpu/cpu0/cpufreq/related_cpus:0
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:800083
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed:<unsupported>
echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu10/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu11/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu4/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu5/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu6/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu7/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu8/cpufreq/scaling_governor:powersave
/sys/devices/system/cpu/cpu9/cpufreq/scaling_governor:powersave
echo 800000 | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq
800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu10/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu11/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu7/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu8/cpufreq/scaling_max_freq:800000
/sys/devices/system/cpu/cpu9/cpufreq/scaling_max_freq:800000
grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:800778
/sys/devices/system/cpu/cpu10/cpufreq/scaling_cur_freq:800047
/sys/devices/system/cpu/cpu11/cpufreq/scaling_cur_freq:800099
/sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq:800109
/sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq:800064
/sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq:801266
/sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq:800118
/sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq:800160
/sys/devices/system/cpu/cpu6/cpufreq/scaling_cur_freq:799999
/sys/devices/system/cpu/cpu7/cpufreq/scaling_cur_freq:800112
/sys/devices/system/cpu/cpu8/cpufreq/scaling_cur_freq:800117
/sys/devices/system/cpu/cpu9/cpufreq/scaling_cur_freq:800004
sudo apt install lm-sensors
$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 0: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 1: +46.0°C (high = +100.0°C, crit = +100.0°C)
Core 2: +47.0°C (high = +100.0°C, crit = +100.0°C)
Core 3: +44.0°C (high = +100.0°C, crit = +100.0°C)
Core 4: +45.0°C (high = +100.0°C, crit = +100.0°C)
Core 5: +44.0°C (high = +100.0°C, crit = +100.0°C)
BAT0-acpi-0
Adapter: ACPI interface
in0: 17.28 V
curr1: 1000.00 uA
pch_cannonlake-virtual-0
Adapter: Virtual device
temp1: +44.0°C
acpitz-acpi-0
Adapter: ACPI interface
temp1: +25.0°C (crit = +107.0°C)
Идентификатор пакета 0 - среднее значение температуры процессора.
Psensors - это инструмент, который работает с использованием датчиков. Это графический интерфейс с графиками:

Температура графического процессора/процессора выше 85C приводит к повреждению аппаратного обеспечения , и в течение многих лет я искал способ снизить работу GPU, но без успеха из -за отсутствия документации. Наши глаза не замечают переходов кадров на скорости выше 24 кадров в секунду. До 60 кадров в секунду мы можем воспринимать плавное изменение качества в Видео. Выше 60 кадров в секунду нет никакого восприятия в качеством в целом. Для пользователей NVIDIA мы можем настроить карту для использования в режиме запроса и настроить Xorg для синхронизации с монитором (60 Гц) .



Для базовых дистрибутов Ubuntu мы можем использовать Mangohud PPA для установки
sudo add-apt-repository ppa:flexiondotorg/mangohud
sudo apt update
sudo apt install mangohud
Мы можем ограничить FPS, используя командную строку
MANGOHUD_CONFIG=fps,fps_limit=30 mangohud --dlsym glxgears

Мы также можем использовать его в Steam. Для этого просто поместите конфигурацию в Steam Game Launcher
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia mangohud --dlsym %command%
Я долгий пользователь системы Linux/Unix, и всегда пытался найти конфигурарион для оптимизации системы для обеспечения использования, аналогичного тому, что у нас есть в Windows. Документация по использованию власти и запатентованных устройств трудно найти. Последней частью, которая была бы основана и умела написать этот урок, был Мангохуд. Со всеми этими конфигурациями мы можем иметь очень близкий или почти такой же опыт, как и в системах MS Windows, с низкой нагрузкой ЦП и приемлемыми температурами графического процессора/процессора.