自从两周前我开始使用这台笔记本电脑以来,我一直在处理这个问题。
问题
我的 CPU 频率不够高,无法处理负载。我经常进行视频通话、在浏览器中加载大量打开的标签或处理其他 CPU 密集型任务,然后开始遇到大量延迟。所有核心的负载都很高(>50% 的利用率),但 CPU 时钟频率将保持在 ~1.8 GHz - ~2.5GHz。
例如,我刚运行了stress --cpu 8
大约 10 分钟,时钟速度保持在 1.5 GHz - 2 GHz 之间。我在开始测试之前一直在监控时钟速度,它从 0.9GHz 跳升至 3.7GHz,没有太多负载。我取消压力测试后,看到频率跳升至 3GHz。
负载下 CPU 温度保持在 ~65C。
我正在使用 Conky 来监控我所有的 CPU 核心和核心 1 的 CPU 时钟。
硬件/内核详细信息:
- 品牌:Thinkpad x1 carbon
- 中央处理器
$ lshw
...
*-cpu
product: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
size: 2972MHz
capacity: 4900MHz
width: 64 bits
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities cpufreq
- 核
$ uname -r
5.6.0-1052-oem
涡轮增压器在负载下输出滞后
$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 6
Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt
55.37 1352 98119 57 10.97 2.37 3.75
53.43 1414 132465 56 11.17 2.36 3.55
49.71 1470 128673 56 11.42 2.45 3.56
50.21 1455 129684 56 11.31 2.43 3.60
41.15 2492 131557 62 20.13 3.82 3.78
39.81 2561 131130 64 20.70 3.85 3.76
41.53 2407 131378 66 19.57 4.31 3.81
41.78 2492 131734 64 20.28 3.91 3.83
41.48 2452 130806 68 19.88 4.14 3.85
47.94 1938 130603 62 16.43 3.46 3.82
68.25 1171 129429 61 10.26 2.19 3.96
64.86 1216 131459 61 10.35 2.21 3.86
56.14 1354 129995 60 10.97 2.35 3.72
54.51 1356 129416 60 10.99 2.40 3.66
63.16 1267 129485 59 10.71 2.33 3.87
58.73 1311 132553 59 10.91 2.38 3.83
61.86 1288 131903 59 10.73 2.27 3.81
55.82 1339 128049 58 10.96 2.42 3.76
62.74 1281 129955 59 10.71 2.32 3.80
57.96 1333 128945 58 10.97 2.41 3.79
61.43 1273 129570 58 10.72 2.38 3.86
62.81 1288 130978 58 10.78 2.32 3.90
62.85 1258 128470 58 10.66 2.34 3.89
55.01 1340 127076 58 10.96 2.41 3.77
57.68 1321 127928 58 10.95 2.44 3.80
57.93 1312 127952 57 10.90 2.41 3.80
54.89 1389 129539 58 11.23 2.45 3.74
60.54 1277 129562 57 10.73 2.35 3.89
61.12 1291 128635 57 10.89 2.37 3.91
60.87 1309 129185 57 10.86 2.33 3.83
58.57 1319 129387 57 10.97 2.40 3.85
我尝试过的事情
- apt 更新 && apt 升级
- cpupower 频率设置 --governor 性能
我正在考虑尝试内核升级,但想先在这里问一下。
编辑 1:添加轻负载的涡轮增压器输出:
$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 6
Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt
4.27 4513 15448 61 15.52 0.03 0.81
4.47 4514 9967 70 15.90 0.02 0.82
3.23 4573 10277 88 14.04 0.02 0.78
3.63 4573 9790 95 14.85 0.03 0.79
2.86 4683 7478 88 14.30 0.03 0.79
4.80 4469 10917 67 16.06 0.09 0.87
8.90 4429 20269 59 25.62 0.68 1.61
编辑 2:笔记本电脑放在桌面上,驱动 2 个显示器。它经过重新设计,现在放在一个升高的支架上,效果好多了。最近几天它只有 1 个外接显示器。没有节流问题。现在又添加了第二个显示器。如果问题再次出现,我会报告:
Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt
13.33 2847 87808 62 15.33 1.12 2.44
14.58 2830 88613 61 15.60 1.15 2.45
22.07 2252 90592 58 13.34 2.07 2.75
22.01 2229 91650 58 13.24 2.24 2.77
答案1
请注意,在 CPU 频率上限范围内,处理器能耗是高度非线性的。我的处理器 (i5-10600K) 与您的处理器非常相似,可以提供相关示例。我将仅加载 1 个 CPU 并进行 prime95 最高热量折磨测试,并在测试时间内逐渐将最大 CPU 频率从最小扫描到最大:
doug@s19:~$ sudo /home/doug/temp-k-git/linux/tools/power/x86/turbostat/turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 15
Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt
8.85 800 22017 35 2.21 0.00 0.89
8.83 890 21963 35 2.31 0.00 0.89
8.77 993 21810 35 2.48 0.00 0.89
8.81 1192 22103 35 2.83 0.00 0.89
8.84 1482 22287 35 3.70 0.00 0.89
8.93 1692 22300 35 4.32 0.00 0.89
8.94 1991 22429 36 5.31 0.00 0.89
9.07 2192 22207 37 6.23 0.00 0.89
9.12 2392 18979 37 6.97 0.00 0.89
9.12 2689 18247 39 8.40 0.00 0.89
9.18 2892 18159 40 9.57 0.00 0.89
9.17 3180 18277 41 11.77 0.00 0.89
9.10 3387 17853 42 13.21 0.00 0.89
9.15 3589 18162 43 15.15 0.00 0.89
9.20 3889 18248 47 19.15 0.00 0.89
9.05 4092 17910 50 22.42 0.00 0.89
9.21 4389 18033 54 28.01 0.00 0.89
9.06 4588 18081 59 33.60 0.00 0.89
9.20 4792 18095 63 39.60 0.00 0.89
9.14 4800 17791 64 39.65 0.00 0.89
9.26 4800 17620 64 40.09 0.00 0.89
9.02 4800 18045 64 40.03 0.00 0.89
9.15 4800 17974 64 40.11 0.00 0.89
请注意,即使只加载一个 CPU,在最高 CPU 频率下,处理器封装功率也达到 40 瓦,远高于处理器的能力。对于水冷系统来说,温度也相当高。为什么?因为热源高度集中。值得注意的是,我的散热器冷却风扇甚至还没有开始旋转。
现在,让我们再试一次,装载 8 个 CPU,因为这就是你所拥有的:
doug@s19:~$ sudo /home/doug/temp-k-git/linux/tools/power/x86/turbostat/turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 15
Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt RAMWatt
66.63 800 130786 37 7.27 0.00 0.89
66.64 987 131850 37 8.44 0.00 0.89
66.62 1177 130848 37 10.16 0.00 0.89
66.59 1483 130346 39 13.60 0.00 0.89
66.58 1690 129868 39 15.96 0.00 0.89
66.57 1989 129622 41 19.91 0.00 0.89
66.56 2189 130280 41 22.92 0.00 0.89
66.56 2390 130588 42 25.86 0.00 0.89
66.55 2688 129897 44 31.89 0.00 0.89
66.54 2700 130524 44 32.41 0.00 0.89
66.55 2884 129650 46 36.63 0.00 0.89
66.54 3187 130104 48 44.98 0.00 0.89
66.54 3391 130259 50 51.37 0.00 0.89
66.54 3587 131023 52 58.51 0.00 0.89
66.54 3882 130983 57 73.29 0.00 0.89
66.54 4092 129813 60 85.79 0.00 0.89
66.53 4347 129923 66 103.83 0.00 0.89
66.53 4588 129581 73 126.47 0.00 0.89
66.35 4575 129285 73 125.49 0.00 0.89
66.44 4580 129205 73 124.91 0.00 0.89
66.43 4579 129734 74 124.90 0.00 0.89
请注意,CPU 高频率时相对于低频率时的功率变化非常大(尽管频率是手动扫描的,但时间非常接近)。
还要注意,处理器的默认功率限制约为 1.7 GHz。 prime95 严酷测试非常残酷,在节流之前,典型使用应该获得更多。
旁注:示例处理器对最后 3 个样本进行功率限制。
结论:您的处理器正在适当节流以保护自身。