Recentemente, notei que um dos meus laptops Ubuntu começou a ficar muito lento. Depois de fazer algumas pesquisas aqui por ferramentas para verificar o status da CPU e comparar com outro PC com a mesma versão, posso ver que o laptop lento está funcionando apenas na velocidade mínima da CPU.
Quando vou Settings -> Power
só vejo Balanced
e Power Saver
não tem Performance
modo. Outros PCs executando o mesmo Ubuntu mostram um Performance
modo. Alguma ideia de por que está faltando? power-profiles-daemon
está instalado e em execução/ativo.
Eu instalei cpufrequtils
e estou executando, cpufreq-info
posso ver que todos os threads estão usando o governador ondemand
, mas sempre rodando a 798 MHz (o mínimo da CPU = 800 Mhz), independentemente da configuração de energia de Balanced
ou Power Saver
:
analyzing CPU 7:
driver: intel_cpufreq
CPUs which run at the same hardware frequency: 7
CPUs which need to have their frequency coordinated by software: 7
maximum transition latency: 20.0 us.
hardware limits: 800 MHz - 3.50 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
current policy: frequency should be within 800 MHz and 3.50 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 798 MHz.
Além disso, quando corro sudo cpufreq-set -r -g performance
para supostamente definir todos os núcleos como performance
reguladores, isso não afeta os resultados acima.
O laptop é HP Omen 15-5000na Intel Core i7-4710HQ @ 2.50Ghz x 8 rodando Ubuntu 22.04.1 LTS Este laptop sempre executou a versão do BIOS F.40
sem problemas no passado. Há um BIOS mais recente ( F.48 Rev.A
), mas a HP fornece apenas um Windows .exe
EDIÇÃO 1:
O echo performance...
comando sugerido abaixo faz uma alteração na saída do cpufreq-info
que agora diz The governor "performance" may decide which speed to use
, mas a frequência da CPU ainda está definida no mínimo o tempo todo. E o sugerido grep
mostra ondemand
para todos os tópicos, até echo performance
então mostra performance
para todos os tópicos.
Resultados de sudo turbostat --Summary --show Busy%,Bzy_MHz,IRQ,PkgWatt,PkgTmp,RAMWatt,GFXWatt,CorWatt --interval 5
:
turbostat version 21.05.04 - Len Brown <[email protected]>
CPUID(0): GenuineIntel 0xd CPUID levels
CPUID(1): family:model:stepping 0x6:3c:3 (6:60:3) microcode 0x28
CPUID(0x80000000): max_extended_levels: 0x80000008
CPUID(1): SSE3 MONITOR - EIST TM2 TSC MSR ACPI-TM HT TM
CPUID(6): APERF, TURBO, DTS, PTM, No-HWP, No-HWPnotify, No-HWPwindow, No-HWPepp, No-HWPpkg, EPB
cpu2: MSR_IA32_MISC_ENABLE: 0x00850089 (TCC EIST MWAIT PREFETCH TURBO)
CPUID(7): No-SGX
cpu2: MSR_MISC_PWR_MGMT: 0x00400000 (ENable-EIST_Coordination DISable-EPB DISable-OOB)
RAPL: 5578 sec. Joule Counter Range, at 47 Watts
cpu2: MSR_PLATFORM_INFO: 0x80838f3011900
8 * 100.0 = 800.0 MHz max efficiency frequency
25 * 100.0 = 2500.0 MHz base frequency
cpu2: MSR_IA32_POWER_CTL: 0x0004005d (C1E auto-promotion: DISabled)
cpu2: MSR_TURBO_RATIO_LIMIT: 0x21212223
33 * 100.0 = 3300.0 MHz max turbo 4 active cores
33 * 100.0 = 3300.0 MHz max turbo 3 active cores
34 * 100.0 = 3400.0 MHz max turbo 2 active cores
35 * 100.0 = 3500.0 MHz max turbo 1 active cores
cpu2: MSR_CONFIG_TDP_NOMINAL: 0x00000019 (base_ratio=25)
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: 0x1e008405 (UNdemote-C3, UNdemote-C1, demote-C3, demote-C1, locked, pkg-cstate-limit=5 (pc7s))
/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 0x32
cpu2: cpufreq driver: intel_cpufreq
cpu2: cpufreq governor: performance
cpufreq intel_pstate no_turbo: 0
cpu2: MSR_MISC_FEATURE_CONTROL: 0x00000000 (L2-Prefetch L2-Prefetch-pair L1-Prefetch L1-IP-Prefetch)
cpu0: EPB: 4 (custom)
cpu0: MSR_CORE_PERF_LIMIT_REASONS, 0x3d210001 (Active: PROCHOT, ) (Logged: Transitions, MultiCoreTurbo, PkgPwrL2, PkgPwrL1, Amps, Auto-HWP, PROCHOT, )
cpu0: MSR_GFX_PERF_LIMIT_REASONS, 0x0c010000 (Active: ) (Logged: PROCHOT, PkgPwrL1, PkgPwrL2, )
cpu0: MSR_RING_PERF_LIMIT_REASONS, 0x09010000 (Active: ) (Logged: PROCHOT, Amps, PkgPwrL2, )
cpu0: MSR_RAPL_POWER_UNIT: 0x000a0e03 (0.125000 Watts, 0.000061 Joules, 0.000977 sec.)
cpu0: MSR_PKG_POWER_INFO: 0x00000178 (47 W TDP, RAPL 0 - 0 W, 0.000000 sec.)
cpu0: MSR_PKG_POWER_LIMIT: 0x804281d600dc8178 (locked)
cpu0: PKG Limit #1: ENabled (47.000000 Watts, 28.000000 sec, clamp DISabled)
cpu0: PKG Limit #2: ENabled (58.750000 Watts, 0.002441* sec, clamp DISabled)
cpu0: MSR_PP0_POLICY: 0
cpu0: MSR_PP0_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: Cores Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_PP1_POLICY: 0
cpu0: MSR_PP1_POWER_LIMIT: 0x00000000 (UNlocked)
cpu0: GFX Limit: DISabled (0.000000 Watts, 0.000977 sec, clamp DISabled)
cpu0: MSR_IA32_TEMPERATURE_TARGET: 0x04641000 (100 C)
cpu0: MSR_IA32_PACKAGE_THERM_STATUS: 0x8827080c (61 C)
cpu0: MSR_IA32_PACKAGE_THERM_INTERRUPT: 0x00000003 (100 C, 100 C)
cpu2: MSR_PKGC3_IRTL: 0x00008842 (valid, 67584 ns)
cpu2: MSR_PKGC6_IRTL: 0x0000886a (valid, 108544 ns)
cpu2: MSR_PKGC7_IRTL: 0x00008891 (valid, 148480 ns)
Busy% Bzy_MHz IRQ PkgTmp PkgWatt CorWatt GFXWatt
29.84 800 17045 60 12.01 2.78 0.49
23.35 800 11239 62 11.89 2.54 0.43
33.84 800 18221 61 12.51 3.07 0.72
28.59 800 13540 61 12.39 2.80 0.82
29.03 800 16247 60 12.15 2.85 0.62
18.48 800 12915 58 11.90 1.77 1.44
EDITAR 2 / ATUALIZAR / RESOLVIDO:
A resposta abaixo sobre PROCHOT
o sinalizador definido pelo meu hardware foi de fato o motivo da limitação da CPU. Então marcado como correto. Muito obrigado.
Quanto ao motivo pelo qual o hardware estava configurando o sinalizador - um pouco mais de informação, caso ajude outras pessoas no futuro, como fiz as duas coisas abaixo e até agora não há mais PROCHOT. Portanto, uma das coisas abaixo pareceu funcionar, mas não tenho certeza de qual:
(1) Abri o gabinete para verificar os ventiladores e remover qualquer poeira. Os dois ventiladores estavam funcionando bem e um pouco de poeira, mas não muito. Também coloquei o laptop em algo para deixá-lo mais alto e, com sorte, melhorar o fluxo de ar por baixo, pois é onde estão as entradas de ar.
(2) A bateria do meu laptop havia acabado há mais de um ano e, desde então, as estatísticas de energia do Ubuntu nem mostravam a presença de bateria. Mas como eu o uso como desktop no AC, não foi um problema e não houve lentidão até recentemente. No entanto, eu tinha visto algumas postagens em que as pessoas diziam que falha / falha na bateria às vezes pode causar, PROCHOT
então pensei em remover fisicamente a bateria do laptop.
Os motivos de limitação de desempenho (aceleração) são listados na exibição de informações de inicialização do turbostat quando o
--quiet
parâmetro da linha de comando não é especificado. Assim, as linhas relevantes para esta questão são:E a parte mais relevante é
Active: PROCHOT
indicar que oPROCHOT
bit externo do processador estava ativo quando a amostra foi coletada e é o motivo pelo qual a frequência do clock da CPU do processador foi reduzida ao mínimo.A implementação do
PROCHOT
bit e o que o está afirmando depende do hardware.Também é interessante que ambos os bits de limite de energia sejam exibidos como registrados, mas não ativos no momento, e a temperatura do processador pareça um pouco alta para a frequência mínima do clock da CPU.