Alguma maneira de verificar a velocidade do relógio do meu processador?

187

Existe alguma maneira de verificar a que velocidade meu processador está funcionando?

Eu já tentei, cat /proc/cpuinfomas a velocidade do relógio que estou executando não está aparecendo. Eu sei que o Ubuntu 12.04 (Precise Pangolin) requer 700 MHz e VGA, mas será que um AMD Mobile Sempron funcionará?

user1610406
fonte
Você precisa de mais detalhes na segunda parte da sua pergunta. Você sabe o número do modelo?
LiveWireBT
Obrigado por todas as respostas, mas estou bem agora!
user1610406

Respostas:

199

No tipo de linha de comando lscpu. As informações estarão em CPU MHz:

~$ lscpu | grep MHz
CPU MHz:               804.901
CPU max MHz:           3200.0000
CPU min MHz:           800.0000
Kevin Bowen
fonte
12
Observe que o valor da CPU MHz não é fixo e pode mudar a cada segundo.
Cerin
18
Se você gostaria de tê-lo atualizar em tempo real, isso vai ajudar: watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'".
Amal Murali
11
@ Ivan: Desculpe, desconsidere isso. A saída deste comando:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
Amal Murali
3
@Ivan: Ok, aqui está:watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"
Amal Murali
11
@ Ivan: Para uma observação momentânea, você não precisa watch. Isso faria: lscpu | grep 'CPU MHz' | awk '{ print $3; }'. Não tenho certeza sobre a saída exata que você está recebendo no seu sistema. Vou explicar o comando se isso ajudar: primeiro lscpuobtém a saída completa que contém informações sobre sua CPU, grepdepois procura CPU MHze imprime apenas essa linha, awkretira o $N-thbloco e exibe. E se você quiser que o resultado seja alterado em tempo real, envolva o comando em a watch -n1 "...".
Amal Murali
172

Existem algumas maneiras:

  1. lscpuou mais preciso lscpu | grep "MHz".
    Isso fornecerá o MHz geral para a CPU.

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
  2. cat /proc/cpuinfoou mais preciso cat /proc/cpuinfo | grep "MHz".
    Isso fornecerá o MHz individual para cada núcleo da CPU. Portanto, se você possui um Core 2 Duo, AMD Bulldozer, Core i7, etc., ele mostrará o MHz para cada núcleo.

    $ cat /proc/cpuinfo | grep "MHz"
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 3400.000
    
  3. lshw -c cpuou versão mais precisa: lshw -c cpu | grep capacity
    fornecerá o MHz geral. O mesmo que lscpu.

    $ lshw -c cpu | grep capacity
    WARNING: you should run this program as super-user.
           capacity: 1600MHz
    WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
    
  4. sudo dmidecode -t processorou mais preciso: sudo dmidecode -t processor | grep "Speed"não apenas fornecerá um MHz em uso, mas também o máximo em que você pode enviar / executar overclock sua CPU.

    $ sudo dmidecode -t processor | grep Speed
    [sudo] password for cyrex: 
        Max Speed: 4000 MHz
        Current Speed: 2666 MHz
    

Tudo isso lshwe dmidecodeforneça as melhores informações da sua CPU.

Você também pode direcionar o MHz atual detectado pelo kernel consultando os arquivos de log:

cat /var/log/dmesg | grep "MHz processor" - Para a velocidade atual detectada em MHz

cat /var/log/kern.log | grep "MHz processor"- Para as velocidades atuais e passadas detectadas em MHz. Não vai funcionar em alguns casos, é por isso que postei o dmesgprimeiro.

E é tudo que consigo me lembrar do topo da minha cabeça. Estou bastante certo de que existem outras maneiras, apenas não me lembro agora. Claro, falando sobre maneiras terminais.

Luis Alvarado
fonte
11
Para mim, todas as opções, exceto dmidecode, deram uma leitura falsa: estou fazendo um overclock de um chip Intel E6600 2.4ghz em uma placa gigabyte ga-965p-ds3 3.3 com multiplicador 7x e frequência de CPU de 400 mhz para fornecer CPU de 2,8ghz, mas o multiplicador de estoque é 9 (9x266 = 2,4ghz), então eu suspeito que o restante das ferramentas assuma que o multiplicador é o estoque e o tempo que a CPU mhz, portanto, no meu caso, todos eles fornecem 3,6ghz.
Dez93_2000
3
dmidecodeparece ser o único a relatar com precisão a velocidade de relógio quando overclocking
Avindra Goolcharan
11
Observe que as informações de dmidecodegeralmente não podem ser confiáveis ​​para serem precisas para o seu sistema, porque apenas lê dados das tabelas DMI, o que pode estar errado. A página de manual do dmidecode até diz que as informações são "possivelmente não confiáveis" e continua: "A tabela DMI não apenas descreve do que o sistema é composto atualmente, mas também pode relatar as possíveis evoluções (como a CPU com suporte mais rápido ou a quantidade máxima de memória suportada) ". "Muitas vezes, as informações contidas nas tabelas DMI são imprecisas, incompletas ou simplesmente erradas."
Cerran
11
dmidecodeparece não funcionar, mostra a CPU travada na frequência máxima, o que não é preciso, tenho certeza. powertope lscpumostre a frequência variável real.
Rolf
11
Você não precisa cat /path/to/file | grep "some string"- você pode apenas grepo arquivo diretamente em vez disso: grep "some string" /path/to/file. Resposta impressionante, no entanto.
mgarey 2/04
89

Para a velocidade atual da CPU, é possível observar dinamicamente essa alteração em tempo real usando:

sudo watch -n 1  cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

Para ver a velocidade máxima da CPU, use:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 
Colin Ian King
fonte
4
+1, eu sei que este é um site do Ubuntu, mas esta parece ser a única resposta que fornece um comando que é completamente independente do SO.
Andy E
Se você receber permissão negada tentando ler scaling_max_freq, tente cpuinfo_max_freq.
LightStruk
6
cpufreq/cpuinfo_cur_freqnão existe
Ken afiada
11
+1, mesmo em vários sistemas baseados em ARM executando o ubtunu, apenas esta solução funciona. Todas as outras "soluções" fornecidas nesta página falham, enquanto isso funciona em qualquer lugar.
Philippos
4
O driver freq da CPU intel_pstate não fornece cpuinfo_cur_freq. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driverpara ver qual driver está sendo usado atualmente. BTW, cpuinfo_cur_freqé o ponto de vista do hardware e o ponto de vista do scaling_cur_freqkernel da freqüência atual da CPU. Mais sobre static.lwn.net/kerneldoc/admin-guide/pm/…
Yasushi Shoji
15

O indicador-cpufreq-selector é uma pequena ferramenta indicadora que mostra sua frequência atual da CPU. Você pode até selecionar a frequência da CPU desejada.

insira a descrição da imagem aqui

No entanto, a última atualização desta ferramenta foi em 19/10/2015 .

Stephan Schielke
fonte
5
Você pode instalá-lo usando sudo apt-get install indicator-cpufreq.
Wilf 26/02
2
E após a instalação, você precisará reiniciar antes que ele apareça.
30815 talyric
Não funciona bem no Ubuntus mais recente, se é que o faz.
Ken afiada
7

Gostaria de salientar que sudoé necessário para a resposta de Ian acima:

sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

No entanto, você pode obter os mesmos resultados sem o sudo usando:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

Meu favorito é usar Conky, onde você pode pintar sua própria imagem:

Conky.gif

Fica à direita do meu monitor embutido o tempo todo. O código relevante para a seção CPU é:

${color2}${voffset 5}Intel® i-7 3630QM 3.4 GHz: ${color1}@  ${color green}${freq} MHz   
${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18}
${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18}
${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18}
${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18}
${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18}
${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18}
${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18}
${color}${goto 13}CPU 8 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18}
${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 2 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime
WinEunuuchs2Unix
fonte
11
Onde fica Conky e o que é?
Not2qubit
@ not2qubit eu vou atualizar esta resposta mais tarde mas, entretanto, consulte este artigo Arch Linux: wiki.archlinux.org/index.php/conky
WinEunuuchs2Unix
6

Gostaria apenas de adicionar i7za esta lista. Ao contrário de outras opções, isso funciona melhor para CPUs das séries i7, i5 e i3 que possuem TurboBoost.

jmiserez
fonte
Exatamente o que eu precisava. E também mostra tensões Vcore, multiplicadores Turbo, paradas de C0, etc. Muito bom!
Andriy Makukha
Atenção, requer 30mb de rubi e ferramentas variadas.
Gringo Suave
3
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
Vadimo
fonte
2

Se você estiver usando um dispositivo ARM embutido (tal como um telefones baseados framboesa ou ARM), você não será capaz de usar soluções usando lscpu, dmidecodeou /proc/cpuinfoporque a velocidade de corrente não está listada, se a ferramenta é de todo disponível. Em vez disso, você precisa usar o sysfs :

alias getcpuf='i=1; for x in $(sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq); do y=$(($x/1000)); echo "CPU-${i}: $y MHz"; i=$((i+1)); done;'

# getcpuf
CPU-1: 600 MHz
CPU-2: 600 MHz
CPU-3: 600 MHz
CPU-4: 600 MHz
not2qubit
fonte
2

Aqui está uma maneira simples de obter frequências de CPU para todos os threads da CPU:

  1. Verifique se cpufrequtilsestá instalado.

  2. Em um terminal, execute o seguinte comando:

    cpufreq-info | grep "frequency is"
    
Hypersphere
fonte
2

Isso funciona bem para velocidades do processador em tempo real

 watch "grep 'cpu MHz' /proc/cpuinfo"

Enquanto isso estiver ativo, você também pode enviar spam ao processador para ver quais velocidades máximas em tempo real ele pode atingir openssl speed

Aizen
fonte
1

Em um terminal, digite:

cat /proc/cpuinfo | grep name

Ele deve exibir o modelo exato da sua CPU.

Esta página da Wikipedia no Sempron fornecerá especificações detalhadas.

Gord Campbell
fonte
1

Eu queria compartilhar isso como um comentário, mas não tenho muitas reputações no askubuntu. As pessoas que desejam usar o indicador-cpufreq não precisam reiniciar o computador. Redefinir a sessão X atual é suficiente para exibir o ícone.

sudo apt-get install indicator-cpufreq   
DISPLAY=:0 compiz --replace

Você pode validar a opção Desempenho e economia de energia vendo a frequência atual por

watch -d "cat /proc/cpuinfo | grep -i Mhz"

Assim que você clica em uma frequência mais baixa / economia de energia, o gerenciamento de energia da CPU entra em ação, reduzindo assim o ciclo do relógio.

infoclogged
fonte
O usuário logout e novamente (mas não reiniciar) provavelmente iria funcionar tão bem
Xen2050
1

Esse é meu favorito:

watch -n1 "cat /proc/cpuinfo | grep 'MHz'"

Embora se você tiver o Turbo Boost (ou o Turbo Core se a AMD), provavelmente preferirá:

sudo watch -n 1 -d cpupower monitor

que usa cpupowerdo grupo linux-tools .

Marc.2377
fonte
0

Saída de amostra de cat /proc/cpuinfo

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 1600.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 800.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

Aqui cpu MHzsignifica frequência atual da CPU. Você pode correr cpufreq-infopara entender facilmente.

alhelal
fonte
redundante e longo!
Rishav Ambasta
0

Em um terminal Linux, digite o seguinte comando para obter o nome do núcleo da CPU e sua velocidade atual:

cat /proc/cpuinfo | grep -E "model name|cpu MHz"

Francisco Costa
fonte
0

sudo powertop em seguida, pressione Tab duas vezes para acessar a guia "Estatísticas de frequência".

Ele exibe a frequência real (precisa no meu laptop, ao contrário de dmidecode), juntamente com estatísticas sobre quanto tempo é gasto em cada frequência disponível.

Rolf
fonte
Possui uma linha específica para a frequência atual? Parece apenas mostrar a% de tempo em que cada frequência + estado inativo está "ativo", nenhuma indicação de qual está ativo no momento?
Xen2050
@ A frequência da CPU do Xen2050 pode mudar de um lado para outro em milissegundos, por isso estou mais interessado em estatísticas. Você pode executar powertop -t 1com um atraso baixo, para que as estatísticas sejam atualizadas a cada segundo.
Rolf