this is an issue I've been dealing with since I started using this laptop 2 weeks ago.
The Issue
My CPU frequency isn't scaling high enough to deal with load. I'll regularly be on video calls, be loading lot of tabs open in a browser, or working on some other CPU intensive and start to experience a lot of lag. All the cores will be high load (>50% util) but the CPU clock will stay ~1.8 GHz - ~2.5GHz.
For example, I just ran stress --cpu 8
for about 10 minutes and my clock speed held between 1.5 GHz - 2 GHz. I was monitoring the clock speed before I started the test and it was jumping from .9GHz to 3.7GHz without much load. The second I canceled the stress test I watched the frequency jump to 3GHz.
CPU Temp stays ~65C under load.
I'm using Conky to monitor all my CPU cores and CPU clock of core 1.
Hardware/Kernal Details:
- Make: Thinkpad x1 carbon
- CPU
$ 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
- Kernal
$ uname -r
5.6.0-1052-oem
Output from turbostat under load with lag
$ 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
Things I've tried
- apt update && apt upgrade
- cpupower frequency-set --governor performance
I am considering trying a kernel upgrade but wanted to ask here first.
EDIT 1: adding turbostat output with light load:
$ 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
EDIT 2: The laptop was sitting closed on the desktop driving 2 monitors. It was reworked and is now on a raised stand that allows much better. It also only had 1 external monitor for the lest few days. No throttling issues. Second monitor has now been added again. I will report back if the issue returns:
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
sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt --interval 6
. If you do not have turbostat, I think is is in the linux tools common package, but am not sure. If you do not know your processor power limit, then delete the--quiet
stanza and turbostat will tell you. (It is 15 watts by default) – Doug Smythies Mar 29 '21 at 19:12No throttling issues the last few days. Last night I setup my second monitor again. I will report back if the issue returns.
Here is another turbostat output with medium utilization.
PS: not sure why I can't format here
– Chart96 Apr 02 '21 at 13:33grep . /sys/devices/system/cpu/intel_pstate/*
andgrep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_m*
and maybe some others. – Doug Smythies Apr 06 '21 at 00:17sudo rdmsr 0x64f
(MSR_CORE_PERF_LIMIT_REASONS) during throttling, as I don't think turbostat does so. – Doug Smythies Apr 08 '21 at 14:38