Я ищу некоторые разъяснения о том, как использовать либо rapl-set или powercap-set для изменения долгосрочного предела мощности на моем ноутбуке Intel N4200 под управлением Ubuntu 20.04.
Во-первых, я знаю, что мой биос позволяет изменять долгосрочное ограничение (до заданного максимума), поскольку у меня были хорошие результаты с ThrottleStop в Windows.
Мои ограничения по умолчанию:
powercap-info -p intel-rapl
Zone 0
name: package-0
enabled: 0
max_energy_range_uj: 262143328850
energy_uj: 1431662228
Constraint 0
name: long_term
power_limit_uw: 3999744
time_window_us: 27983872
max_power_uw: 5999616
Constraint 1
name: short_term
power_limit_uw: 5999616
time_window_us: 976
max_power_uw: 0
Zone 0:0
name: core
enabled: 0
max_energy_range_uj: 262143328850
energy_uj: 975192877
Zone 0:1
name: uncore
enabled: 0
max_energy_range_uj: 262143328850
energy_uj: 308897463
Zone 0:2
name: dram
enabled: 0
max_energy_range_uj: 262143328850
energy_uj: 410797898
Constraint 0
name: long_term
power_limit_uw: 0
time_window_us: 976
Итак, я смотрю на зону 0, ограничение 0. Вы видите, что оно установлено на 4 Вт в долгосрочной перспективе с краткосрочным ограничением в 6 Вт. Я хотел бы добиться того, чтобы долгосрочное ограничение было равно краткосрочному, что повторило бы то, чего я достиг с ThrottleStop в Windows.
С этой целью я попробовал следующие варианты, которые, похоже, делают одно и то же:
cd /sys/class/powercap/intel-rapl/intel-rapl:0 && cat constraint_0_max_power_uw | tee constraint_0_power_limit_uw
rapl-set -p 0 -c 0 -l 5999616 -e 1
powercap-set -p intel-rapl -z 0 -c 0 -l 5999616 -e 1
Любой из них, похоже, устанавливает ограничение так, как нужно:
Zone 0
name: package-0
enabled: 1
max_energy_range_uj: 262143328850
energy_uj: 4600742311
Constraint 0
name: long_term
power_limit_uw: 5999616
time_window_us: 27983872
max_power_uw: 5999616
При любом из этих способов нет ошибки, и соответствующие файлы успешно обновляются. Однако новое ограничение мощности не соблюдается. Пожалуйста, посмотрите приложенный снимок экрана s-tui, который иллюстрирует падение часов и лимита мощности независимо от настроек.
Регулятор CPU установлен на 'производительность' и отключен TLP.
Я что-то упускаю? Я предполагаю, что соответствующий драйвер/модуль загружен, поскольку файлы присутствуют и ошибок не возникает, но мне кажется, что я что-то упускаю из виду.
Любая помощь/предложения будут очень признательны. Кто-нибудь вообще видел, как это работает в Linux?
Я не использую rapl-set или powercap-set для ограничения мощности. Что я использую в целом, так это то, что
echo 5999616 | sudo tee constraint_0_power_limit_uw
это всегда работает для меня.