Я пытаюсь управлять часами своего ноутбука, и у меня есть "половина успеха", использующий cpupower я смог ограничить часы, но каждый раз, когда программа (или лучше, marios программы) начинают работать и просить больше ЦП, система игнорирует ограничение.
Разговор как этот кажется, что не работал, но на самом деле когда предел ограничивает работы CPU в нем, но он также игнорирует при принуждении слишком много.
На окнах я использовал ThrottleStop и только имел эту проблему, когда были "прерывания системы" иначе, CPU всегда работал в наложенных ограничениях.
У кого-либо есть решение, которое позволяет мне ограничивать часы, и система всегда уважает это?
В настоящее время Вы используете acpi-cpufreq драйвер частотного масштабирования ЦП. Этот ответ для intel_pstate драйвера частотного масштабирования ЦП с предложением, чтобы Вы вернулись к тому драйверу для этой работы. Почему? Поскольку это легче этот путь.
В то время как Ваш процессор является i3-2328M, примеры здесь с i7-2600K.
Во-первых, проверьте свои пределы:
$ grep . /sys/devices/system/cpu/intel_pstate/*
/sys/devices/system/cpu/intel_pstate/max_perf_pct:100
/sys/devices/system/cpu/intel_pstate/min_perf_pct:42
/sys/devices/system/cpu/intel_pstate/no_turbo:0
/sys/devices/system/cpu/intel_pstate/num_pstates:23
/sys/devices/system/cpu/intel_pstate/status:active
/sys/devices/system/cpu/intel_pstate/turbo_pct:18
Теперь скажите, я хотел ограничить свою максимальную частоту ЦП 60% ее возможности:
echo 60 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
Я буду использовать турбостат для демонстрации:
sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,IRQ --interval 15
Busy% Bzy_MHz IRQ PkgTmp PkgWatt
0.03 1606 844 26 3.69 <<< No load
0.80 3130 3492 26 4.50
3.91 3770 5791 39 9.53
12.52 3799 16078 41 22.84 <<< 100% load on one CPU
12.52 3799 16077 43 22.97
12.53 3309 16168 38 19.44
12.53 2300 16019 38 12.03 <<< Limit to 60% of max (to nearest P state)
12.53 2300 16069 37 12.03
12.53 2300 16007 38 12.03
100.00 2300 120463 43 33.79 << Increase load to all CPUs
100.00 2300 120467 44 33.81
12.53 2300 16045 38 12.04 << Decrease load back to only 1 CPU
12.53 2300 16053 38 12.04
3.34 2295 4756 31 5.95 <<< Load removed
0.03 1600 689 30 3.74
0.07 1816 885 33 3.76