A freqüência da CPU vai para o mínimo de appx. 40 segundos após a inicialização / retomada

0

Estou em um laptop Acer com um processador Intel i7-4710HQ, que tem clock nominal de 2,50 GHz / passa para 3,50 GHz com turbo boost. Assim que eu puder executar turbostat após inicializar ou fazer uma suspensão / retomada, ele reportará Bzy_MHz próximo o suficiente para valores nominais:

 Core     CPU Avg_MHz   %Busy Bzy_MHz TSC_MHz
   -       -     392   11.42    3436    2503
   0       0     151    4.49    3353    2504
   0       1      67    1.99    3340    2504
   1       2      96    2.84    3366    2504
   1       3     175    5.22    3350    2504
   2       4     105    3.14    3349    2504
   2       5      81    2.43    3322    2504
   3       6      46    1.38    3333    2504
   3       7    2419   70.03    3453    2496

No entanto, isso cai para 800 MHz em torno de 40 segundos depois:

 Core     CPU Avg_MHz   %Busy Bzy_MHz TSC_MHz
   -       -       8    1.01     798    2493
   0       0      12    1.55     798    2493
   0       1       1    0.16     800    2493
   1       2      21    2.65     798    2493
   1       3       9    1.11     798    2493
   2       4      15    1.84     798    2493
   2       5       1    0.08     797    2493
   3       6       3    0.40     798    2493
   3       7       2    0.29     798    2493

Não está representado aqui, mas isso persiste quando eu carrego a CPU. Fazer uma suspensão e reiniciar ou uma reinicialização traz a freqüência de volta por mais 40 segundos ou mais. A queda ocorre normalmente em 40-45 segundos, mas às vezes até 50 segundos após a inicialização / retomada.

Para referência, aqui está (parte de) a saída de cpufreq-info : (a saída é idêntica para as outras CPUs, das quais existem 7)

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: 0.97 ms.
  hardware limits: 800 MHz - 3.50 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 800 MHz and 3.50 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz.

E de lscpu :

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 60
Stepping:              3
CPU MHz:               800.097
BogoMIPS:              4988.66
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7

rdmsr fornece um valor de 8 para o registrador 0x19a. Isso é verdade antes e depois da freqüência da CPU cair. (Usar wrmsr para definir 0, antes ou depois da queda da frequência, não afeta o comportamento.)

As informações que você viu foram geradas enquanto eu estava executando intel_pstate . No entanto, desabilitar isso na inicialização (tal que cpufreq-info relatórios usando o driver acpi_cpufreq ) não afeta o comportamento. A configuração processor.ignore_ppc=1 também não afeta o comportamento.

Eu já estou usando o governador de desempenho. Alterar scaling_min_freq não afeta o comportamento. O comportamento é o mesmo, quer eu esteja conectado com o carregamento da bateria ou apenas com bateria.

Eu normalmente não observo uma temperatura acima de 70 graus C, e em vários testes a temperatura ficou estável em cerca de 65 graus para cada núcleo quando a frequência cai.

Atualize com as informações solicitadas:

rdmsr --bitfield 15:8 -d -a 0x198 fornece 33 para todas as CPUs após o reinício e cai para 8 quando a frequência cai.

rdmsr --bitfield 15:8 -d -a 0x199 fornece 35 para todas as CPUs após o reinício e não muda quando a frequência cai.

grep . /sys/devices/system/cpu/intel_pstate/* (após a queda):

/sys/devices/system/cpu/intel_pstate/max_perf_pct:100
/sys/devices/system/cpu/intel_pstate/min_perf_pct:100
/sys/devices/system/cpu/intel_pstate/no_turbo:0

grep . /sys/devices/system/cpu/cpu0/cpufreq/* (após a queda):

/sys/devices/system/cpu/cpu0/cpufreq/affected_cpus:0
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:3500000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency:4294967295
/sys/devices/system/cpu/cpu0/cpufreq/related_cpus:0
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors:performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver:intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor:performance
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq:3500000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq:800000
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed:<unsupported>

Todos foram obtidos com a CPU carregada.

    
por penlu 25.04.2017 / 08:10

0 respostas