我正试图控制我的笔记本的时钟,我正在使用cpupower进行“半成功”--我能够限制时钟,但是每当一个程序(或者更好的,marios程序)开始运行并要求更多的CPU时,系统就会忽略这个限制。
这样说似乎不起作用,但事实上,当限制限制时,cpu在其内部工作,但当强迫过多时,它也会忽略。
在windows上,我使用了ThrottleStop,只有在出现“系统中断”时才会出现这个问题,否则cpu总是在规定的范围内运行。
有没有人有一个解决方案,让我限制时钟和系统总是尊重这一点?
发布于 2019-03-20 20:58:11
目前您正在使用的是acpi-cpufreq CPU频率缩放驱动程序。这个答案是针对intel_pstate CPU频率缩放驱动程序的,建议您返回到该驱动程序进行这项工作。为什么?因为这样更容易。
虽然你的处理器是一个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现在,我想将我的最大CPU频率限制在其能力的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.76https://askubuntu.com/questions/1127291
复制相似问题