Данная заметка касается владельцев ноутбуков на базе APU AMD поколений Zen 3/4/5 без дискретной видеокарты. Применима ли она к другим - я проверить не могу.Итак, по пунктам:
1. Уменьшение потребления энергии в idle режиме
1.1 Качаем, собираем и устанавливаем утилиту [[https://github.com/FlyGoat/RyzenAdjт RyzenAdj]]. Возможно она есть в вашем дистрибутиве из коробки - проверьте сами.
1.2 Добавляем в автозапуск системы (rc.local/systemd unit - как вам нравится) следующую команду:
ryzenadj --power-saving
1.3 Возможно (по крайней мере это касается ноутбуков на основе Zen 4), эту команду нужно запускать после каждого цикла suspend resume и при отключении подключении питания, ибо EC материнской платы сбрасывает состояние энергосбережения в обоих случаях.
Данная команда очень немного уменьшает производительность, но вы это не заметите. На моём HP ноутбуке с Ryzen 7 7840HS энергопотребление в режиме ничего не делания после использования команды падает с ~3.5W до 0.7W.
2. Уменьшение потребления энергии на задачи которые не требуют максимальной производительности процессора.
К сожалению, новомодный amd-pstate совершенно невменяем касаемо частот, которые он выставляет для задач, которые не требуют максимальной производительности процессора.
Например, просмотр видео с использование аппаратного ускорения заставляет процессор висеть примерно на частоте близкой к максимальной, при этом потребление энергии составляет примерно 15 ватт.
Чтобы избежать этого, нужно выполнить следующую команду:
echo balance_performance | sudo tee /sys/devices/system/cpu/cpufreq/*/energy_performance_preference
При её использовании частота падает примерно вдвое, потребление энергии уменьшается примерно до 7W.
Её так же можно добавить в автозапуск системы.
3. Уменьшение максимального энергопотребления и температуры APU.
Команда ryzenadj имеет и другие опции:
--tctl-temp=XX - установка максимальной температуры. Если вы хотите увеличить срок службы термопасты и вентилятора, советую уменьшить её. Для себя я выставил значение 80.
--stapm-limit=XXXXX - максимальное потребление энергии в тысячах, т.е. для 20W, вы делаете 20000. Если у вас, например, APU с 54W, можно сделать его гораздо тише выставив значение в 31W.
--fast-limit=XXXXX - максимальное пиковое **кратковременное** потребление энергии в тысячах.
--slow-limit=XXXXX - максимальное пиковое **долговременное** потребление энергии в тысячах.
Во время автономной работы, я запускаю следующую команду:
ryzenadj --tctl-temp=70 --power-saving --stapm-limit=15000 --fast-limit=15000 --slow-limit=10000
К слову сказать, RyzenAdj работает и в Windows.
Источник: Artem S. Tashkinov (birdie). Если будут вопросы, оставляете их здесь.
URL:
Обсуждается: https://www.opennet.ru/tips/info/3259.shtml