Qual é a maneira correta de ver a velocidade da sua CPU no Linux?

9

Eu encontrei dois comandos para gerar informações sobre minha CPU: cat /proc/cpuinfo e lscpu . /proc/cpuinfo mostra que a velocidade da minha CPU é de 2,1 Ghz, enquanto lspcu diz que é 3167 Mhz. Qual deles está correto?

Esta é minha saída exata de cat /proc/cpuinfo sobre a velocidade do meu processador:

model name  : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz

E isso é de lscpu :

CPU MHz:               3225.234

(Por alguma razão, lscpu sai de forma diferente a cada vez, variando entre 3100 e 3300 MHz)

    
por Rohan 20.02.2016 / 20:49

6 respostas

21

Para ver a velocidade atual de cada núcleo, faço isso:

watch -n.1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""

Nota:

Se o comando watch não funcionar com intervalos menores que um segundo, modifique o intervalo da seguinte forma:

watch -n1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""

Isso exibe o cpu speed de cada núcleo em tempo real.

Ao executar o seguinte comando, uma ou mais vezes, de outro terminal, pode-se ver a mudança de velocidade com o comando watch acima, assumindo que SpeedStep esteja habilitado ( Cool'n'Quiet para AMD ).

echo "scale=10000; 4*a(1)" | bc -l &

(Este comando usa bc para calcular pi para 10000 lugares).

    
por 25.02.2016 / 01:55
4

Para CPUs baseadas em Intel i3, i5 e i7, existe uma ferramenta dedicada chamada i7z que mostra a velocidade atual de todos os núcleos de CPU.

Da página man (descrição):

i7z runs the i7z, ncurses based, program without any options. i7z will print out the C-states and temperature for i3, i5 and i7 based Core processors from Intel (including Nehalems, Sandy Bridge and Ivy Bridge).

Para distribuições baseadas em ubuntu, você pode instalá-lo emitindo este comando:

sudo apt-get install i7z

depois é só executá-lo (a ferramenta precisa ser executada com o sudo):

sudo i7z
    
por 30.03.2017 / 23:26
2

Para obter informações sobre o tipo de CPU, use o seguinte comando:

dmidecode -t 4
    
por 20.02.2016 / 21:31
2

O Intel Core Processador i7-4600U suporta Tecnologia Turbo Boost . Tem uma frequência base de 2.10GHz e uma Freqüência Máxima Turbo de 3.30GHz. Isso significa que,

  • Se você desativar o Turbo Boost (no menu de configuração do BIOS), a CPU funcionará a 2.10GHz o tempo todo.
  • Quando o Turbo Boost está habilitado e apenas um dos núcleos está funcionando, a CPU funcionará no máximo em 3,30GHz.
  • Se o Turbo Boost estiver habilitado e todos os núcleos estiverem funcionando, a CPU funcionará a 2.10GHz.

Obtendo a frequência atual

Para determinar se o Turbo Boost está ativado e qual é a frequência atual, você pode usar cpupower frequency-info . Por exemplo, para um antigo Intel Core i5-660 com Turbo Boost ativado, você obterá o seguinte.

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 3.47 GHz
  available frequency steps: 3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.20 GHz and 3.47 GHz.
              The governor "ondemand" may decide which speed to use
              within this range.
  current CPU frequency is 1.87 GHz.
  cpufreq stats: 3.47 GHz:82,67%, 3.33 GHz:0,00%, 2.53 GHz:0,00%, 1.87 GHz:0,06%, 1.20 GHz:17,28%  (3)
  boost state support:
    Supported: yes
    Active: yes
    25500 MHz max turbo 4 active cores
    25500 MHz max turbo 3 active cores
    25500 MHz max turbo 2 active cores
    25500 MHz max turbo 1 active cores

Observe que as informações informam os limites de hardware ( 1.20 GHz - 3.47 GHz ), as possíveis freqüências ( 3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz ) e a frequência atual ( 1.87 GHz ). Você pode encontrar as informações técnicas dessas frequências no site da Intel .

Frequência quando o TurboBoost está desativado

Observe a diferença quando você executa o mesmo comando com o Turbo Boost desativado: na seção boost state support , os valores de Supported e Active são no . Aqui, a CPU estará no valor nominal / mínimo (1.20Ghz) o tempo todo.

$ cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 3.47 GHz
  available frequency steps: 3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 1.20 GHz and 3.47 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.20 GHz.
  cpufreq stats: 3.47 GHz:40,86%, 3.33 GHz:0,01%, 2.53 GHz:0,06%, 1.87 GHz:0,22%, 1.20 GHz:58,85%  (493)
  boost state support:
    Supported: no
    Active: no
    25500 MHz max turbo 4 active cores
    25500 MHz max turbo 3 active cores
    25500 MHz max turbo 2 active cores
    25500 MHz max turbo 1 active cores

Você pode desativar o Turbo Boost usando o BIOS ou algumas opções / comandos do Linux . O suporte do kernel pode ser ativado / desativado usando o arquivo /sys/devices/system/cpu/cpufreq/boost .

    
por 16.09.2017 / 19:45
0

Depende do que você está usando a informação; a linha de saída de cat / proc / cpuinfo 'é a velocidade "Anunciada", a velocidade na brochura, etc. Se você estiver comparando o servidor A ao servidor B, isso pode ser suficiente. Se você estiver monitorando cargas de trabalho no sistema, os comentários para sua pergunta e a resposta de @ gad3r seriam o que ver.

    
por 25.02.2016 / 00:41
0

Freqüências de CPU são mantidas no kernel, mas elas podem ficar um pouco "desligadas". Você pode vê-los usando:

$ cd /sys/devices/system/cpu
$ paste <(cat cpu*/cpufreq/affected_cpus) <(cat cpu*/cpufreq/scaling_cur_freq) | column -s $'\t' -t
0  833914
1  800021
2  800086
3  800029
4  800036
5  800460
6  800118
7  800141

Se você não precisa saber o método mais curto da CPU, basta usar:

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1396354
800058
800050
800024
800005
800017
800001
1392006
    
por 21.08.2018 / 01:06

Tags