Cerca de um mês ou dois atrás, o desempenho do meu sistema Ubuntu 22.04 sofreu um golpe repentino do nada. Não alterei nenhum HW, não mexi em nenhuma configuração. Depois de investigar um pouco, encontrei essa causa estranha. Usando watch grep MHz /proc/cpuinfo
durante o modo inativo, as frequências estão pulando entre 800 a 3700 e algo no meio. Mas quando carrego o sistema usando 7z b
, as frequências ficam em 800 baixos.
O que eu tentei:
- Diferentes sistemas operacionais. Eu tentei inicializar no Windows 10 para jogar alguns jogos e aqui notei que o comportamento é o mesmo. Também cansei de inicializar o Ubuntu 18.04 LTS ao vivo e novamente: mesmo resultado. Eu também fiz a instalação limpa do Ubuntu 22.10, mesmo resultado.
- Mudando os módulos de RAM. Eu tentei configurações diferentes, ainda o mesmo.
- Reinstalando o resfriamento da CPU, nenhuma alteração. Além disso, mesmo antes, as temperaturas permanecem em razoáveis 30-40 C, não importa o quê. Então térmica não parece ser um problema.
turbostat version 2022.04.16 - Len Brown <[email protected]>
CPUID(0): GenuineIntel 0x16 CPUID levels
CPUID(1): family:model:stepping 0x6:5e:3 (6:94:3) microcode 0xf0
CPUID(0x80000000): max_extended_levels: 0x80000008
CPUID(1): SSE3 MONITOR - EIST TM2 TSC MSR ACPI-TM HT TM
CPUID(6): APERF, No-TURBO, DTS, PTM, HWP, HWPnotify, HWPwindow, HWPepp, No-HWPpkg, No-EPB
cpu2: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO)
CPUID(7): SGX
cpu2: MSR_IA32_FEATURE_CONTROL: 0x00000005 (Locked )
CPUID(0x15): eax_crystal: 2 ebx_tsc: 308 ecx_crystal_hz: 0
TSC: 3696 MHz (24000000 Hz * 308 / 2 / 1000000)
CPUID(0x16): base_mhz: 3700 max_mhz: 3700 bus_mhz: 100
cpu2: MSR_MISC_PWR_MGMT: 0x00401cc0 (ENable-EIST_Coordination DISable-EPB DISable-OOB)
RAPL: 5140 sec. Joule Counter Range, at 51 Watts
cpu2: MSR_PLATFORM_INFO: 0x80080838f1012500
8 * 100.0 = 800.0 MHz max efficiency frequency
37 * 100.0 = 3700.0 MHz base frequency
cpu2: MSR_IA32_POWER_CTL: 0x0038005d (C1E auto-promotion: DISabled)
cpu2: MSR_TURBO_RATIO_LIMIT: 0x25252525
37 * 100.0 = 3700.0 MHz max turbo 4 active cores
37 * 100.0 = 3700.0 MHz max turbo 3 active cores
37 * 100.0 = 3700.0 MHz max turbo 2 active cores
37 * 100.0 = 3700.0 MHz max turbo 1 active cores
cpu2: MSR_CONFIG_TDP_NOMINAL: 0x00000025 (base_ratio=37)
cpu2: MSR_CONFIG_TDP_LEVEL_1: 0x00000000 ()
cpu2: MSR_CONFIG_TDP_LEVEL_2: 0x00000000 ()
cpu2: MSR_CONFIG_TDP_CONTROL: 0x80000000 ( lock=1)
cpu2: MSR_TURBO_ACTIVATION_RATIO: 0x00000000 (MAX_NON_TURBO_RATIO=0 lock=0)
cpu2: MSR_PKG_CST_CONFIG_CONTROL: 0x1e008000 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked, pkg-cstate-limit=0 (pc0))
/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: C1: MWAIT 0x00
cpu2: C1E: MWAIT 0x01
cpu2: C3: MWAIT 0x10
cpu2: C6: MWAIT 0x20
cpu2: C7s: MWAIT 0x33
cpu2: C8: MWAIT 0x40
cpu2: cpufreq driver: intel_pstate
cpu2: cpufreq governor: powersave
cpufreq intel_pstate no_turbo: 1
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: 0x010e2525 (high 37 guar 37 eff 14 low 1)
cpu0: MSR_HWP_REQUEST: 0x00002508 (min 8 max 37 des 0 epp 0x0 window 0x0 pkg 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: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000198 (51 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x42ffff001dffff (UNlocked)
cpu0: PKG Limit #1: ENabled (4095.875 Watts, 16.000000 sec, clamp ENabled)
cpu0: PKG Limit #2: ENabled (4095.875 Watts, 0.002441* sec, clamp DISabled)
cpu0: MSR_VR_CURRENT_CONFIG: 0x80000000
cpu0: PKG Limit #4: 0.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: 0
cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: Cores Limit: DISabled (0.000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_PP1_POLICY: 0
cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: GFX Limit: DISabled (0.000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x00641400 (100 C) (100 default - 0 offset)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x8846000c (30 C)
cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x00000003 (100 C, 100 C)
cpu2: MSR_PKGC3_IRTL: 0x0000884e (valid, 79872 ns)
cpu2: MSR_PKGC6_IRTL: 0x00008876 (valid, 120832 ns)
cpu2: MSR_PKGC7_IRTL: 0x00008894 (valid, 151552 ns)
cpu2: MSR_PKGC8_IRTL: 0x000088fa (valid, 256000 ns)
cpu2: MSR_PKGC9_IRTL: 0x0000894c (valid, 339968 ns)
cpu2: MSR_PKGC10_IRTL: 0x00008bf2 (valid, 1034240 ns)
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 800 MHz - 3.70 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 800 MHz and 3.70 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 800 MHz (asserted by call to kernel)
boost state support:
Supported: no
Active: no
Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt
3.57 800 6246 29 12.10 0.00
2.48 800 4717 30 12.07 0.00
73.91 800 18038 30 13.56 0.00
99.77 800 17158 30 13.78 0.00
90.46 800 16900 31 13.75 0.00
97.21 800 16835 30 13.79 0.00
99.77 800 16862 31 13.80 0.00
80.01 800 17050 31 13.76 0.00
99.77 800 16750 30 13.80 0.00
85.76 800 15274 31 13.70 0.00
78.03 800 17381 31 13.70 0.00
93.27 800 17339 32 13.81 0.00
99.77 800 16879 31 13.80 0.00
8.20 800 4337 31 12.18 0.00
0.87 800 3126 31 12.04 0.00
1.01 800 3250 30 12.04 0.00
0.79 800 2909 30 12.03 0.00
0.61 800 2473 30 12.02 0.00
Este MSR, listado pelo turobstat:
e através dos bits 2 e 3, indica que o bit PROCHOT externo está definido. Isso forçará sua CPU a desacelerar. O seguinte é copiado e colado do Intel SDM
Você precisa determinar por que esse bit externo está sendo definido. Por exemplo, os computadores Dell LapTop definem esse bit quando o carregador está com defeito ou não é Dell (pelo menos acho que é esse bit).
Resposta parte 2:
A razão pela qual você observa às vezes 800 e às vezes 3700 MHz quando o faz
watch grep MHz /proc/cpuinfo
é porque ele exibe a frequência básica da CPU padrão, 3,7 GHz neste caso, quando as informações reais estão obsoletas devido a essa CPU estar em um estado ocioso profundo por um tempo prolongado.