¿Alguna forma de verificar la velocidad del reloj de mi procesador?


187

¿Hay alguna forma de verificar a qué velocidad de reloj está funcionando mi procesador?

Ya lo intenté cat /proc/cpuinfopero la velocidad del reloj que estoy ejecutando no se muestra. Sé que Ubuntu 12.04 (Precise Pangolin) requiere 700 MHz y VGA, pero ¿funcionará un AMD Mobile Sempron?


Necesita más específico en la segunda parte de su pregunta. ¿Conoces el número de modelo?
LiveWireBT

Gracias por todas las respuestas pero estoy bien ahora!
user1610406

Respuestas:


199

Desde el tipo de línea de comando lscpu. La información estará en CPU MHz:

~$ lscpu | grep MHz
CPU MHz:               804.901
CPU max MHz:           3200.0000
CPU min MHz:           800.0000

12
Tenga en cuenta que el valor de CPU MHz no es fijo y puede cambiar por segundos.
Cerin

18
Si le gustaría tener que actualizar en tiempo real, esto ayudará a: watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'".
Amal Murali

1
@ Ivan: Lo siento, ignora eso. La salida de este comando:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
Amal Murali

3
@Ivan: Bien, aquí tienes:watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"
Amal Murali

1
@ Ivan: Para una observación momentánea, no es necesario watch. Esto haría: lscpu | grep 'CPU MHz' | awk '{ print $3; }'. No estoy seguro de la salida exacta que está obteniendo en su sistema. Explicaré el comando si eso ayuda: primero lscpuobtiene la salida completa que contiene información sobre su CPU, grepluego busca CPU MHze imprime solo esa línea, awksaca el $N-thbloque y lo muestra. Y si desea que el resultado cambie en tiempo real, envuelva el comando en a watch -n1 "...".
Amal Murali

173

Hay un par de maneras:

  1. lscpuo más precisa lscpu | grep "MHz".
    Esto le dará los MHz generales para la CPU.

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
  2. cat /proc/cpuinfoo más precisa cat /proc/cpuinfo | grep "MHz".
    Esto le dará los MHz individuales para cada CPU Core. Entonces, si tiene un Core 2 Duo, AMD Bulldozer, Core i7, etc., mostrará los 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 cpuo una versión más precisa: lshw -c cpu | grep capacity
    le dará el MHz general. Igual 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 processoro más preciso: sudo dmidecode -t processor | grep "Speed"no solo le dará un MHz en uso, sino también el Máximo al que puede empujar / overclockear su CPU.

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

Fuera de todo esto, lshwy dmidecodeproporcione la mejor información de su CPU.

También puede apuntar a los MHz actuales detectados por el núcleo al consultar los archivos de registro:

cat /var/log/dmesg | grep "MHz processor" - Para la velocidad actual de MHz detectada

cat /var/log/kern.log | grep "MHz processor"- Para las velocidades de MHz detectadas actuales y pasadas. No funcionará en algunos casos, por eso publiqué el dmesgprimero.

Y eso es todo lo que puedo recordar de mi cabeza. Estoy bastante seguro de que hay otras formas, solo que no lo recuerdo en este momento. Por supuesto, hablando de formas terminales.


1
Para mí, todas las opciones, excepto dmidecode, dieron una lectura falsa: estoy overclocking un chip Intel E6600 2.4ghz en una placa gigabyte ga-965p-ds3 3.3 con multiplicador 7x y frecuencia de CPU de 400mhz para dar CPU de 2.8ghz, pero el multiplicador de stock es 9 (9x266 = 2.4ghz), así que sospecho que el resto de las herramientas suponen que el multiplicador es stock y multiplicado por la CPU mhz, por lo que en mi caso todos dan 3.6ghz.
dez93_2000

3
dmidecodeparece ser el único que informa con precisión la velocidad del reloj cuando hace overclocking
Avindra Goolcharan

1
Tenga en cuenta que dmidecodegeneralmente no se puede confiar en que la información sea precisa para su sistema porque solo lee datos de las tablas DMI, lo que puede ser incorrecto. La página de manual de dmidecode incluso dice que la información es "posiblemente no confiable", y continúa: "La tabla DMI no solo describe de qué está hecho el sistema actualmente, sino que también puede informar las posibles evoluciones (como la CPU más rápida compatible o la cantidad máxima de memoria admitida) ". "La mayoría de las veces, la información contenida en las tablas de DMI es inexacta, incompleta o simplemente incorrecta".
Cerran

1
dmidecodeno parece funcionar, muestra que la CPU se atascó en la frecuencia máxima, lo cual no es exacto, estoy bastante seguro. powertopy lscpumuestra la frecuencia variable real.
Rolf

1
No es necesario que cat /path/to/file | grep "some string"- puede simplemente grepel archivo directamente en su lugar: grep "some string" /path/to/file. Impresionante respuesta, sin embargo.
mgarey

89

Para la velocidad actual de la CPU, se puede ver dinámicamente este cambio en tiempo real usando:

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

Para ver la velocidad máxima de la CPU, use:

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

44
+1, sé que este es un sitio de Ubuntu, pero esta parece ser la única respuesta que proporciona un comando que es completamente independiente del sistema operativo.
Andy E

Si obtiene el permiso denegado al intentar leer scaling_max_freq, pruebe cpuinfo_max_freq.
LightStruk

66
cpufreq/cpuinfo_cur_freqno existe
Ken Sharp

1
+1, incluso en varios sistemas basados ​​en ARM que ejecutan ubtunu, solo esta solución funciona. Todas y cada una de las "soluciones" dadas en esta página fallan allí, mientras que esto funciona en todas partes.
Philippos

44
El controlador de frecuencia de CPU intel_pstate no proporciona cpuinfo_cur_freq. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driverpara ver qué controlador se usa actualmente. Por cierto, cpuinfo_cur_freqes el punto de vista del hardware y scaling_cur_freqes el punto de vista del núcleo de la frecuencia actual de la CPU. Más en static.lwn.net/kerneldoc/admin-guide/pm/…
Yasushi Shoji

15

Indicador-cpufreq-selector es una pequeña herramienta indicadora que muestra su frecuencia de CPU actual. Incluso puede seleccionar la frecuencia de CPU deseada.

ingrese la descripción de la imagen aquí

Sin embargo, la última actualización de esta herramienta fue el 19/10/2015 .


55
Puedes instalarlo usando sudo apt-get install indicator-cpufreq.
Wilf

2
Y después de la instalación, deberá reiniciar antes de que aparezca.
Talyric

No funciona bien en las nuevas Ubuntus, si es que lo hace.
Ken Sharp

7

Me gustaría señalar que sudose necesita para la respuesta de Ian anterior:

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

Sin embargo, puede obtener los mismos resultados sin sudo usando:

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

Mi favorito es usar Conky donde puedes pintar tu propia imagen:

Conky.gif

Esto se encuentra a la derecha de mi pantalla integrada todo el tiempo. El código relevante para la sección de CPU es:

${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

1
¿Dónde está Conky y qué es?
not2qubit

@ not2qubit Actualizaré esta respuesta más tarde, pero mientras tanto vea este artículo de Arch Linux: wiki.archlinux.org/index.php/conky
WinEunuuchs2Unix

6

Solo me gustaría agregar i7za esta lista. Al contrario de las otras opciones, esto funciona mejor para las CPU de las series i7, i5 e i3 que tienen TurboBoost.


Exactamente lo que necesitaba. Y también muestra voltajes Vcore, multiplicadores Turbo, paradas de C0, etc. ¡Muy bien!
Andriy Makukha

Atención, requiere 30mb de rubí y una variedad de herramientas.
Gringo Suave

3
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

2

Si está utilizando un dispositivo ARM incorporado (como un teléfono basado en Raspberry o ARM), no podrá usar soluciones usando lscpu, dmidecodeo /proc/cpuinfoporque la velocidad actual no figura allí, si la herramienta está disponible. En su lugar, debe usar 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

2

Aquí hay una forma directa de obtener frecuencias de CPU para todos los hilos de la CPU:

  1. Asegúrese de que cpufrequtilsesté instalado.

  2. Luego, en una terminal, ejecute el siguiente comando:

    cpufreq-info | grep "frequency is"
    

2

Esto funciona bien para velocidades de procesador en tiempo real

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

Mientras está activo, también puede enviar spam al procesador para ver qué velocidades máximas en tiempo real puede alcanzar openssl speed



1

Quería compartir esto como un comentario, pero no tengo muchas reputaciones en askubuntu, las personas que desean usar el indicador-cpufreq no necesitan reiniciar la computadora. Restablecer la sesión X actual es suficiente para mostrar el icono.

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

Puede validar la opción Rendimiento y Ahorro de energía al ver la frecuencia actual al

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

Tan pronto como haga clic en una frecuencia más baja / Ahorro de energía, se activará la administración de energía de la CPU, lo que reducirá el ciclo del reloj.


El usuario que
cierra

1

Este es mi favorito:

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

Aunque si tienes Turbo Boost (o Turbo Core si AMD), probablemente prefieras:

sudo watch -n 1 -d cpupower monitor

que utiliza cpupowerdel grupo linux-tools .


0

Salida de muestra 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:

Aquí cpu MHzsignifica la frecuencia actual de la CPU. Puedes correr cpufreq-infopara entender fácilmente.


redundante y largo!
Rishav Ambasta

0

En un terminal de Linux, escriba el siguiente comando para obtener el nombre del núcleo de la CPU y su velocidad actual:

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


0

sudo powertop luego presiona Tab dos veces para llegar a la pestaña "Estadísticas de frecuencia".

Muestra la frecuencia real (precisa en mi computadora portátil, en lugar de dmidecode), junto con estadísticas sobre cuánto tiempo se gasta en cada frecuencia disponible.


¿Tiene una línea específica para la frecuencia actual? Parece que solo muestra el% de tiempo que cada frecuencia + estado inactivo está "activo", ¿no hay indicación de cuál está activo en este momento?
Xen2050

La frecuencia de la CPU @ Xen2050 puede cambiar de un lado a otro en milisegundos, por lo que estoy más interesado en las estadísticas. Puedes correr powertop -t 1por un retraso bajo, para que las estadísticas se actualicen cada segundo.
Rolf

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.