I recently got a Gigabyte Areo 17 i9-12900hk, and have put Ubuntu 22.04 kernel 5.19 on it. I ran s-tui to run it through a quick stress-test and found some odd processor behavior that does not happen in Windows.
Behavior in s-tui: For the first 5-10 seconds, the stress-test runs just fine. Power consumption is in line with power level constraint 1. Constraint 1 is only set to a timer of 3 seconds, but it will run at this power level for about 10 seconds. Then speeds drop and power consumption drops to approx 45w on the core and stays there. Powercap-info shows that constraint 0 (long-term) is set for more than 30 seconds at 70w, so it is clearly ignoring the constraint settings.
According to both s-tui and turbostat, my cpu temps were not too high (maxing at 79c), so I do not think this was thermal throttling. Just to make sure, I removed and purged thermald, but that did not fix the issue.
I have used powercap-set to change both constraint 0 and 1 power levels and timings, but unless I set the power levels to below 45w, the power levels will automatically drop back to 45w after about 10s.
I tried to replicate this behavior in Windows 11, but I can run at high power levels for as long as I'd like without any throttling. HWinfo shows 90w consistently over multiple minutes with no thermal issues during cpu stress tests. Thus, I do not think this is a thermal throttling issue.
Here is the output from powercap-info. One thing I noticed was that the "max_power_uw" in Constraint 0 matches the power consumption levels seen in s-tui after the power consumption levels drop.
powercap-info -p intel-rapl
enabled: 1
Zone 0
name: package-0
enabled: 1
max_energy_range_uj: 262143328850
Constraint 0
name: long_term
power_limit_uw: 70000000
time_window_us: 31981568
max_power_uw: 45000000
Constraint 1
name: short_term
power_limit_uw: 110000000
time_window_us: 2998272
max_power_uw: 0
Constraint 2
name: peak_power
power_limit_uw: 215000000
time_window_us: 0
max_power_uw: 0
Zone 0:0
name: core
enabled: 0
max_energy_range_uj: 262143328850
Constraint 0
name: long_term
power_limit_uw: 0
time_window_us: 976
Zone 0:1
name: uncore
enabled: 0
max_energy_range_uj: 262143328850
Constraint 0
name: long_term
power_limit_uw: 0
time_window_us: 976
Zone 1
name: psys
enabled: 0
max_energy_range_uj: 262143328850
Constraint 0
name: long_term
power_limit_uw: 0
time_window_us: 27983872
Constraint 1
name: short_term
power_limit_uw: 0
time_window_us: 976
Here is the output from turbostat. This shows the initial output and the jump to the stress test. Then the drop after about 15 seconds to 45w.
turbostat version 2022.04.16 - Len Brown <[email protected]>
CPUID(0): GenuineIntel 0x20 CPUID levels
CPUID(1): family:model:stepping 0x6:9a:3 (6:154:3) microcode 0x429
CPUID(0x80000000): max_extended_levels: 0x80000008
CPUID(1): SSE3 MONITOR SMX EIST TM2 TSC MSR ACPI-TM HT TM
CPUID(6): APERF, TURBO, DTS, PTM, HWP, HWPnotify, HWPwindow, HWPepp, HWPpkg, EPB
cpu2: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO)
CPUID(7): No-SGX
CPUID(0x15): eax_crystal: 2 ebx_tsc: 152 ecx_crystal_hz: 38400000
TSC: 2918 MHz (38400000 Hz * 152 / 2 / 1000000)
CPUID(0x16): base_mhz: 2900 max_mhz: 5000 bus_mhz: 100
cpu2: MSR_MISC_PWR_MGMT: 0x000030c2 (ENable-EIST_Coordination ENable-EPB DISable-OOB)
RAPL: 5825 sec. Joule Counter Range, at 45 Watts
cpu2: MSR_PLATFORM_INFO: 0x804043df1811d00
4 * 100.0 = 400.0 MHz max efficiency frequency
29 * 100.0 = 2900.0 MHz base frequency
cpu2: MSR_IA32_POWER_CTL: 0x0024005b (C1E auto-promotion: ENabled)
cpu2: MSR_TURBO_RATIO_LIMIT: 0x2b2b2b2b2e2e3232
43 * 100.0 = 4300.0 MHz max turbo 8 active cores
43 * 100.0 = 4300.0 MHz max turbo 7 active cores
43 * 100.0 = 4300.0 MHz max turbo 6 active cores
43 * 100.0 = 4300.0 MHz max turbo 5 active cores
46 * 100.0 = 4600.0 MHz max turbo 4 active cores
46 * 100.0 = 4600.0 MHz max turbo 3 active cores
50 * 100.0 = 5000.0 MHz max turbo 2 active cores
50 * 100.0 = 5000.0 MHz max turbo 1 active cores
cpu2: MSR_CONFIG_TDP_NOMINAL: 0x00000019 (base_ratio=25)
cpu2: MSR_CONFIG_TDP_LEVEL_1: 0x00130118 (PKG_MIN_PWR_LVL1=0 PKG_MAX_PWR_LVL1=0 LVL1_RATIO=19 PKG_TDP_LVL1=280)
cpu2: MSR_CONFIG_TDP_LEVEL_2: 0x001d0208 (PKG_MIN_PWR_LVL2=0 PKG_MAX_PWR_LVL2=0 LVL2_RATIO=29 PKG_TDP_LVL2=520)
cpu2: MSR_CONFIG_TDP_CONTROL: 0x00000000 ( lock=0)
cpu2: MSR_TURBO_ACTIVATION_RATIO: 0x00000018 (MAX_NON_TURBO_RATIO=24 lock=0)
cpu2: MSR_PKG_CST_CONFIG_CONTROL: 0x74008003 (UNdemote-C1, demote-C1, locked, pkg-cstate-limit=3 (pc6))
/dev/cpu_dma_latency: 2000000000 usec (default)
current_driver: intel_idle
current_governor: menu
current_governor_ro: menu
cpu2: POLL: CPUIDLE CORE POLL IDLE
cpu2: C1E: MWAIT 0x01
cpu2: C6: MWAIT 0x20
cpu2: C8: MWAIT 0x40
cpu2: C10: MWAIT 0x60
cpu2: cpufreq driver: intel_pstate
cpu2: cpufreq governor: powersave
cpufreq intel_pstate no_turbo: 0
cpu2: MSR_MISC_FEATURE_CONTROL: 0x00000000 (L2-Prefetch L2-Prefetch-pair L1-Prefetch L1-IP-Prefetch)
cpu0: MSR_PM_ENABLE: 0x00000001 (HWP)
cpu0: MSR_HWP_CAPABILITIES: 0x0117203f (high 63 guar 32 eff 23 low 1)
cpu0: MSR_HWP_REQUEST: 0x00003f06 (min 6 max 63 des 0 epp 0x0 window 0x0 pkg 0x0)
cpu0: MSR_HWP_REQUEST_PKG: 0x8000ff01 (min 1 max 255 des 0 epp 0x80 window 0x0)
cpu0: MSR_HWP_INTERRUPT: 0x00000001 (EN_Guaranteed_Perf_Change, Dis_Excursion_Min)
cpu0: MSR_HWP_STATUS: 0x00000000 (No-Guaranteed_Perf_Change, No-Excursion_Min)
cpu0: EPB: 7 (custom)
cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000168 (45 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x968370001f8230 (UNlocked)
cpu0: PKG Limit #1: ENabled (70.000 Watts, 32.000000 sec, clamp ENabled)
cpu0: PKG Limit #2: ENabled (110.000 Watts, 3.000000* sec, clamp DISabled)
cpu0: MSR_VR_CURRENT_CONFIG: 0x800006b8
cpu0: PKG Limit #4: 215.000000 Watts (locked)
cpu0: MSR_DRAM_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: DRAM Limit: DISabled (0.000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_PP0_POLICY: 9
cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: Cores Limit: DISabled (0.000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_PP1_POLICY: 13
cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: GFX Limit: DISabled (0.000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x8a640000 (100 C)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x883d0800 (39 C)
cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x02000003 (100 C, 100 C)
cpu2: MSR_PKGC3_IRTL: 0x00000000 (NOTvalid, 0 ns)
cpu2: MSR_PKGC6_IRTL: 0x00000000 (NOTvalid, 0 ns)
cpu2: MSR_PKGC7_IRTL: 0x00000000 (NOTvalid, 0 ns)
cpu2: MSR_PKGC8_IRTL: 0x00000000 (NOTvalid, 0 ns)
cpu2: MSR_PKGC9_IRTL: 0x00000000 (NOTvalid, 0 ns)
cpu2: MSR_PKGC10_IRTL: 0x00000000 (NOTvalid, 0 ns)
Core CPU Avg_MHz Busy% Bzy_MHz TSC_MHz IPC IRQ SMI POLL C1E C6 C8 C10 POLL% C1E% C6% C8% C10% CPU%c1 CPU%c6 CPU%c7 CoreTmp CoreThr PkgTmp Totl%C0 Any%C0 GFX%C0 CPUGFX% Pkg%pc2 Pkg%pc3 Pkg%pc6 SYS%LPI PkgWatt CorWatt GFXWatt RAMWatt PKG_% RAM_%
- - 232 6.10 3807 2918 1.13 6570 0 60 1520 204 157 6474 0.00 0.63 0.13 0.13 93.04 2.44 54.19 38.23 66 40 66 96.90 21.16 12.65 5.42 64.93 0.00 0.00 0.00 15.90 10.27 0.37 0.00 0.00 0.00
0 0 220 5.33 4135 2918 0.82 183 0 0 64 1 3 296 0.00 0.50 0.00 0.01 94.19 1.39 0.04 93.24 63 10 66 96.90 21.16 12.65 5.42 64.93 0.00 0.00 0.00 15.90 10.27 0.37 0.00 0.00 0.00
0 1 239 5.62 4260 2918 0.79 192 0 0 6 2 2 104 0.00 0.02 0.04 0.01 94.31 1.10
4 2 260 6.36 4093 2918 0.91 331 0 20 73 3 6 381 0.04 0.34 0.05 0.09 93.21 0.85 0.06 92.73 57 1
4 3 203 4.75 4267 2918 0.79 101 0 0 0 1 0 41 0.00 0.00 0.01 0.00 95.23 2.46
8 4 347 8.46 4107 2918 0.94 530 0 0 100 32 26 944 0.00 0.59 0.45 0.43 90.14 1.71 0.43 89.40 66 40
8 5 208 5.01 4146 2918 0.77 248 0 0 7 0 0 199 0.00 0.40 0.00 0.00 94.61 5.17
12 6 402 9.52 4221 2918 1.24 486 0 0 165 27 24 643 0.00 2.65 0.64 0.59 86.67 4.23 0.69 85.56 64 12
12 7 252 5.78 4368 2918 1.14 160 0 1 6 2 0 73 0.01 0.03 0.05 0.00 94.14 7.97
16 8 293 7.48 3918 2918 0.94 794 0 18 613 59 30 860 0.01 4.18 0.44 0.54 87.47 7.81 0.61 84.10 63 0
16 9 247 6.32 3912 2918 0.83 1177 0 5 151 26 26 719 0.00 0.82 0.24 0.42 92.29 8.97
20 10 317 7.78 4076 2918 1.20 504 0 8 145 21 21 711 0.00 0.80 0.24 0.37 90.90 1.84 0.25 90.13 63 29
20 11 226 5.37 4204 2918 0.84 194 0 0 9 2 1 130 0.00 0.05 0.02 0.00 94.57 4.25
24 12 212 6.60 3203 2918 1.44 308 0 0 19 5 5 439 0.00 0.63 0.06 0.03 92.70 0.53 92.87 0.00 59 0
25 13 179 5.74 3116 2918 1.50 574 0 2 49 7 5 371 0.01 0.71 0.08 0.06 93.45 0.55 93.72 0.00 59 0
26 14 183 5.79 3164 2918 1.50 288 0 0 20 10 5 282 0.00 0.20 0.15 0.07 93.81 0.00 94.24 0.00 59 0
27 15 175 5.36 3270 2918 1.54 86 0 0 1 1 1 43 0.00 0.01 0.02 0.00 94.60 0.00 95.17 0.00 59 0
28 16 177 5.41 3268 2918 1.54 148 0 6 71 2 0 106 0.01 0.49 0.06 0.00 94.03 0.03 94.55 0.00 54 0
29 17 171 5.18 3293 2918 1.55 89 0 0 2 0 0 31 0.00 0.03 0.00 0.00 94.78 0.00 95.34 0.00 54 0
30 18 167 5.09 3278 2918 1.54 95 0 0 1 0 2 59 0.00 0.01 0.00 0.04 94.87 0.00 95.43 0.00 54 0
31 19 167 5.06 3294 2918 1.54 82 0 0 18 3 0 42 0.00 0.10 0.11 0.00 94.72 0.00 95.25 0.00 54 0
Core CPU Avg_MHz Busy% Bzy_MHz TSC_MHz IPC IRQ SMI POLL C1E C6 C8 C10 POLL% C1E% C6% C8% C10% CPU%c1 CPU%c6 CPU%c7 CoreTmp CoreThr PkgTmp Totl%C0 Any%C0 GFX%C0 CPUGFX% Pkg%pc2 Pkg%pc3 Pkg%pc6 SYS%LPI PkgWatt CorWatt GFXWatt RAMWatt PKG_% RAM_%
- - 3843 99.67 3856 2918 1.05 27194 0 0 8 1 1 41 0.00 0.00 0.00 0.00 0.10 0.33 0.00 0.00 75 40 73 1408.89 100.63 9.51 9.51 0.00 0.00 0.00 0.00 109.98 104.23 0.18 0.00 0.00 0.00
0 0 4288 99.77 4298 2918 0.80 1426 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 68 10 73 1408.88 100.63 9.51 9.51 0.00 0.00 0.00 0.00 109.98 104.22 0.18 0.00 0.00 0.00
0 1 4288 99.77 4298 2918 0.80 1446 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
4 2 4288 99.77 4298 2918 0.79 1289 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 63 1
4 3 4288 99.77 4298 2918 0.79 1302 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
8 4 4288 99.77 4298 2918 0.80 1288 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 75 40
8 5 4288 99.77 4298 2918 0.80 1552 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
12 6 4288 99.77 4298 2918 0.79 1321 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 69 12
12 7 4288 99.77 4298 2918 0.79 1291 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
16 8 4288 99.77 4298 2918 0.82 1453 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 70 0
16 9 4202 97.78 4298 2918 0.81 1954 0 0 8 1 1 41 0.00 0.07 0.01 0.00 1.92 2.22
20 10 4288 99.77 4298 2918 0.81 1265 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 67 29
20 11 4288 99.77 4298 2918 0.82 1339 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
24 12 3175 99.77 3182 2918 1.55 1302 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 66 0
25 13 3175 99.77 3182 2918 1.55 1275 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 66 0
26 14 3175 99.77 3182 2918 1.55 1271 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 66 0
27 15 3175 99.77 3182 2918 1.55 1332 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 66 0
28 16 3197 99.77 3205 2918 1.55 1272 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 61 0
29 17 3197 99.77 3205 2918 1.55 1265 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 61 0
30 18 3197 99.77 3205 2918 1.55 1275 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 61 0
31 19 3197 99.77 3205 2918 1.55 1276 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 61 0
.......
Core CPU Avg_MHz Busy% Bzy_MHz TSC_MHz IPC IRQ SMI POLL C1E C6 C8 C10 POLL% C1E% C6% C8% C10% CPU%c1 CPU%c6 CPU%c7 CoreTmp CoreThr PkgTmp Totl%C0 Any%C0 GFX%C0 CPUGFX% Pkg%pc2 Pkg%pc3 Pkg%pc6 SYS%LPI PkgWatt CorWatt GFXWatt RAMWatt PKG_% RAM_%
- - 2901 99.77 2908 2918 1.06 26656 0 0 0 0 0 1 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 59 40 59 1408.88 100.63 5.33 5.33 0.00 0.00 0.00 0.00 51.80 46.26 0.09 0.00 0.00 0.00
0 0 3191 99.77 3198 2918 0.86 1449 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 56 10 59 1408.88 100.63 5.33 5.33 0.00 0.00 0.00 0.00 51.80 46.26 0.09 0.00 0.00 0.00
0 1 3191 99.77 3198 2918 0.85 1325 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
4 2 3191 99.77 3198 2918 0.79 1269 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 51 1
4 3 3191 99.77 3198 2918 0.79 1316 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
8 4 3191 99.77 3198 2918 0.79 1308 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 59 40
8 5 3191 99.77 3198 2918 0.79 1308 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
12 6 3191 99.77 3198 2918 0.79 1317 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 57 12
12 7 3191 99.77 3198 2918 0.79 1357 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
16 8 3191 99.77 3198 2918 0.80 1413 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 55 0
16 9 3188 99.69 3198 2918 0.81 1725 0 0 0 0 0 1 0.00 0.00 0.00 0.00 0.08 0.31
20 10 3191 99.77 3198 2918 0.79 1285 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 55 29
20 11 3191 99.77 3198 2918 0.80 1407 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23
24 12 2466 99.77 2472 2918 1.55 1296 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 55 0
25 13 2466 99.77 2472 2918 1.55 1254 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 55 0
26 14 2466 99.77 2472 2918 1.55 1301 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 55 0
27 15 2466 99.77 2472 2918 1.55 1256 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 55 0
28 16 2466 99.77 2472 2918 1.55 1271 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 52 0
29 17 2466 99.77 2472 2918 1.55 1260 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 54 0
30 18 2466 99.77 2472 2918 1.55 1272 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 54 0
31 19 2466 99.77 2472 2918 1.55 1267 0 0 0 0 0 0 0.00 0.00 0.00 0.00 0.00 0.23 0.00 0.00 54 0
Given that there is no throttling in Windows and that there is plenty of room thermally, I'm hoping that you can come up with some ideas.
As a note, I am an intermediate beginner with Linux, but am willing to try whatever is necessary :).
Thanks so much for reading all of this!