나는 데비안에서 이 패키지를 사용합니다 cpufreq
. 거버너를 탑재 userspace
해 적용할 수 있습니다. 나는 intel_pstate=disabled
이것을 내 커널 라인에서 사용했습니다. 그렇지 않으면 userspace
로드되지 않을 것이기 때문입니다.
cpufreq-set -g userspace -c 0
이는 제가 (4개 CPU 모두에 대해) 거버너를 설정하는 데 사용하는 것입니다.
cpufreq-set -u 0.8GHz
모든 CPU 에서 최대 주파수를 800MHz로 제한 하려고 하는데 cpufreq-set -f 0.8GHz
실제로 작동하지 않습니다. 유휴 상태일 때 CPU는 0.8GHz로 유지됩니다. cpufreq-info
보고서는 훌륭하며 다음과 같이 말합니다.
current policy: frequency should be within 800 MHz and 800 MHz.
The governor "userspace" may decide which speed to use
within this range.
current CPU frequency is 2.49 GHz.
하지만 보시다시피 현재 주파수는 CPU가 허용하는 최대 주파수입니다. 이는 CPU를 사용하고 컴퓨터가 유휴 상태가 아닌 경우에만 발생하는데 최대 0.8GHz라고 하면 실제로 무엇을 하는지는 신경 쓰지 않습니다. 그러면 최대값은 0.8GHz가 되어야 합니다.
내가 뭘 잘못했나요? 다음은 cpufreq-info
CPU의 전체 출력입니다. 그렇지 않으면 동일하게 보입니다.
analyzing CPU 3:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 3
CPUs which need to have their frequency coordinated by software: 3
maximum transition latency: 10.0 us.
hardware limits: 800 MHz - 2.50 GHz
available frequency steps: 2.50 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz
available cpufreq governors: powersave, userspace, conservative, ondemand, performance, schedutil
current policy: frequency should be within 800 MHz and 800 MHz.
The governor "userspace" may decide which speed to use
within this range.
current CPU frequency is 2.49 GHz.
cpufreq stats: 2.50 GHz:5.45%, 2.20 GHz:9.91%, 2.00 GHz:3.50%, 1.80 GHz:4.13%, 1.60 GHz:4.42%, 1.40 GHz:6.70%, 1.20 GHz:12.07%, 1000 MHz:30.03%, 800 MHz:23.79% (659099)