58

Усмиряем гнев процессоров Zen3 в Linux, или downclocking для AMD

Синопсис.
Недавно проапгрейдился с Ryzen 5 1600af на популярный 5600x. Процессор, конечно, весьма шустрый, но к моему невероятному удивлению оказался ГОРАЗДО более шумным в частичной нагрузке по сравнению с 1600-м, нагрузку на который невозможно было понять по звуку кулера.


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


Рецепт, кажется, простой - немного урезать частоту буста программно. Однако сие требует некоторых приготовлений. Внимание! Если вы что-то сломаете - я не виноват))


Дефолтный драйвер управления частотами acpi-cpufreq не подойдет (он не знает про бусты), нужен новый amd-pstate, присутствующий в ядрах начиная с 5.17, слава Габену лучезарному.

Как установить свежее ядро - зависит от вашего дистрибутива, в Ubuntu можно взять из kernel ppa, в Manjaro все делается штатными средствами настроек.
В итоге мы должны получить что-то типа:

# uname -a

Linux alex-b450ms2h 5.17.9-1-MANJARO #1 SMP PREEMPT Wed May 18 09:20:53 UTC 2022 x86_64 GNU/Linux

Теперь нужно включить драйвер параметрами ядра. Внесем в /etc/default/grub:


GRUB_CMDLINE_LINUX_DEFAULT="<старые параметры> amd_pstate.shared_mem=1 initcall_blacklist=acpi_cpufreq_init"

Потом сделаем grub-update. Теперь можно перезагрузиться и проверить наличие нового драйвера:


# cpupower frequency-info | grep driver

driver: amd-pstate

Если дела все-еще не так, то нужно включить CPPC в биосе.


Теперь можно рулить частотой. Я выбрал 4.2 ГГц на максимум:

# cpupower -c 0-11 frequency-set -u 4200MHz -g schedutil

В итоге все тихо, холодно и спокойно в любой нагрузке. Поиграть частотой можно в зависимости от вашего кулера и запросов к тишине. Скажу сразу - снижение частот ОЧЕНЬ сильно и нелинейно влияет на энергопотребление, последний гигагерц этим камням дается большими ваттами.

Можно еще отметить, что для удобства мониторинга можно накатить zenpower3-dkms, но это уже другая история.

GNU/Linux

1.2K поста15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.