5 formas rápidas de comprobar la información de la CPU en Linux

Aquí hay varias maneras de obtener información de la CPU en la línea de comandos de Linux. Puede obtener información del procesador como el número de núcleos reales, núcleos lógicos, hyperthreading, frecuencia de la CPU, etc.
Warp Terminal

Hay varias formas de obtener información sobre el procesador de tu sistema Linux. Te mostraré mi herramienta favorita para esta tarea junto con algunas otras adicionales realizar esta tarea.

Obtén la información de tu CPU con el comando lscpu

Este es el comando más simple que muestra la información de la CPU en una salida simple y rápida.

Puedes ver la arquitectura de tu sistema, el número de procesadores, la información del proveedor, la información de la caché, la velocidad del procesador, entre otras cosas.

También es muy fácil de recordar porque es similar al comando ls. Puedes pensar en él como «list cpu».

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  8
  On-line CPU(s) list:   0-7
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
    CPU family:          6
    Model:               142
    Thread(s) per core:  2
    Core(s) per socket:  4
    Socket(s):           1
    Stepping:            12
    CPU max MHz:         4200.0000
    CPU min MHz:         400.0000
    BogoMIPS:            4199.88
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mc
                         a cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss 
                         ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art
                          arch_perfmon pebs bts rep_good nopl xtopology nonstop_
                         tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cp
                         l vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1
                          sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsav
                         e avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault
                          epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced 
                         tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase t
                         sc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdse
                         ed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1
                          xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_
                         window hwp_epp md_clear flush_l1d arch_capabilities
Virtualization features: 
  Virtualization:        VT-x
Caches (sum of all):     
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    1 MiB (4 instances)
  L3:                    6 MiB (1 instance)
NUMA:                    
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-7
Vulnerabilities:         
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Not affected
  Mds:                   Not affected
  Meltdown:              Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
                          and seccomp
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer
                          sanitization
  Spectre v2:            Mitigation; Enhanced IBRS, IBPB conditional, RSB fillin
                         g
  Srbds:                 Mitigation; TSX disabled
  Tsx async abort:       Not affected

Bueno… esa es la información del procesador de mi sistema y en teoría debería ser algo similar para tu sistema Linux también, sin embargo, lleva en mente que puede existir diferencia de acuerdo con el modelo de tu computador.

Como puedes ver, la información más importante es que mi sistema tiene un procesador Intel(R) Core(TM) i5-10210U. Con esto, yo puedo ir y buscar en la web este número de modelo para obtener más información.

Pero ¿qué significan los demás campos de la salida? ¿Qué información tiene realmente sobre el procesador? Deja que te lo explique. La información es demasiado técnica, por lo que debes tener una comprensión básica de los términos que aparecen ahí.

Explicación de la salida del comando lscpu

La arquitectura de mi sistema es de 64 bits. Lo que significa que es un procesador de 64 bits.

Los op-mods de la CPU son de 32 bits y 64 bits, lo que significa que puede funcionar tanto como un procesador de 32 bits como de 64 bits. En otras palabras, puedes instalar sistemas operativos de 32 y 64 bits en él.

El orden de los bytes es Little Endian. Lo que significa que los bytes están ordenados según el orden Little Endian.

Las siguientes 4 líneas indican el número de procesadores, CPUs/cores e hilos. Te sugiero que leas este artículo para entender un poco sobre los procesadores. Esta imagen de Intel también ayuda a visualizar el significado de socket, CPU, núcleo e hilos.

Imagen brindada por Intel

Tenemos que ir en el orden inverso. Mi sistema tiene 1 socket aquí, lo que significa que tiene un solo chip para las CPUs.

Ese socket tiene 4 núcleos. Significa que el único chip tiene cuatro CPUs físicas en él. Esto te dice el número de núcleos reales, es decir, las CPUs físicas reales.

Y como puedes ver, cada núcleo tiene dos hilos. Los hilos son básicamente CPUs lógicas. Los hilos comparten los recursos de ejecución física del núcleo físico, pero el sistema operativo los ve como núcleos separados. Lee más sobre el hiperhilo aquí.

El número de modelo de la CPU es 142 (no es relevante en mi opinión) y el nombre del modelo es Intel(R) Core(TM) i5-10210U @ 1.60GHz (información más importante).

Stepping es un número utilizado por Intel para identificar el nivel de cambio de diseño de un microprocesador.

La velocidad máxima del reloj es de 4200.0000 y su minima es de 400.0000 MHz.

BogoMIPS es «el número de millones de veces por segundo que un procesador puede hacer absolutamente nada».

Virtualización es VT-x y se utiliza para «ayudar a acelerar las máquinas virtuales creadas en VirtualBox, VMware, Hyper-V y otras aplicaciones».

Las cuatro entradas siguientes se refieren a la caché. Tiene L1D (caché de datos) de 32K, L1I (caché de instrucciones) de 32K, caché L2 de 256K y caché L3 de 3072K. Lee esta página de la wiki para obtener información rápida sobre las cachés de la CPU.

Lo siguiente es el nodo NUMA para cada CPU (tanto las lógicas como las físicas).

La última línea es la lista de banderas de características que son específicas del fabricante. Puedes leer más sobre ellas aquí.

Esta imagen resume la información más importante del procesador que se obtiene del comando lscpu.

Información esencial sobre la CPU en Linux

En mi opinión, el comando lscpu es más que suficiente para darte toda la información que necesitas.

Otros comandos para comprobar la información de la CPU en Linux

1. Check the content of /proc/cpuinfo

Si conoces la estructura de directorios en Linux, ya sabes que proc es un directorio especial en Linux. En realidad, es un sistema de archivos virtual que contiene información del sistema en tiempo de ejecución, como la memoria del sistema, los dispositivos montados, la configuración del hardware, etc.

Puedes notar que el archivo cpuinfo tiene información detallada sobre cada núcleo del procesador.

Por ejemplo, el primer núcleo de mi CPU tiene la siguiente información:

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
stepping	: 12
microcode	: 0xea
cpu MHz		: 2065.893
cache size	: 6144 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 4
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities
vmx flags	: vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple pml ept_mode_based_exec
bugs		: spectre_v1 spectre_v2 spec_store_bypass swapgs itlb_multihit srbds
bogomips	: 4199.88
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

Si sólo quieres el número de núcleos de la CPU (incluyendo los físicos y los lógicos), puedes utilizar el comando grep con el comando wc.

cat /proc/cpuinfo | grep processor | wc -l

8

2. Utiliza el comando lshw

lshw significa ‘listar hardware’, lo que claramente significa listar la información del hardware.

Dado que el comando lshw proporciona información sobre todo el hardware de su sistema, será difícil encontrar exactamente lo que está buscando.

Por ello, el comando lshw ofrece la opción de acotar la búsqueda.

Para mostrar sólo la información del procesador, puede utilizar el comando lshw de la siguiente manera:

sudo lshw -class CPU

Esto mostrará una salida como esta:

*-cpu                     
       description: CPU
       product: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
       vendor: Intel Corp.
       physical id: 4
       bus info: cpu@0
       version: 6.142.12
       serial: NULL
       slot: CPU0
       size: 3158MHz
       capacity: 4200MHz
       width: 64 bits
       clock: 100MHz
       capabilities: lm fpu fpu_exception wp 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 x86-64 constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust sgx bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d arch_capabilities cpufreq
       configuration: cores=4 enabledcores=4 microcode=234 threads=8

3. Utilice hwinfo

hwinfo es otra herramienta de línea de comandos para obtener información de hardware de tu sistema Linux.

Probablemente tengas que instalar primero la herramienta hwinfo, lo cual no es nada difícil, en Debian y/o Ubuntu, puedes utilizar el comando apt para instalarla:

sudo apt install hwinfo

Una vez instalado, puedes obtener los detalles de la CPU de esta manera:

hwinfo --cpu

Verás una salida similar a esta para cada núcleo de la CPU:

01: None 00.0: 10103 CPU                                        
  [Created at cpu.465]
  Unique ID: rdCR.j8NaKXDZtZ6
  Hardware Class: cpu
  Arch: X86-64
  Vendor: "GenuineIntel"
  Model: 6.142.12 "Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz"
  Features: 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,art,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,cpuid,aperfmperf,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,sdbg,fma,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,x2apic,movbe,popcnt,tsc_deadline_timer,aes,xsave,avx,f16c,rdrand,lahf_lm,abm,3dnowprefetch,cpuid_fault,epb,invpcid_single,ssbd,ibrs,ibpb,stibp,ibrs_enhanced,tpr_shadow,vnmi,flexpriority,ept,vpid,ept_ad,fsgsbase,tsc_adjust,sgx,bmi1,avx2,smep,bmi2,erms,invpcid,mpx,rdseed,adx,smap,clflushopt,intel_pt,xsaveopt,xsavec,xgetbv1,xsaves,dtherm,ida,arat,pln,pts,hwp,hwp_notify,hwp_act_window,hwp_epp,md_clear,flush_l1d,arch_capabilities
  Clock: 1886 MHz
  BogoMips: 4199.88
  Cache: 6144 kb
  Units/Processor: 16
  Config Status: cfg=new, avail=yes, need=no, active=unknown

4. Comando dmidecode

dmidecode es otro comando para recuperar varios tipos de información de hardware de su sistema Linux. Puedes comprobar el uso de la memoria en Linux con él. También puedes utilizarlo para obtener sólo la información del procesador.

sudo dmidecode --type processor

Este comando también necesita acceso sudo. Verás una salida como esta:

# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0004, DMI type 4, 48 bytes
Processor Information
	Socket Designation: CPU0
	Type: Central Processor
	Family: Core i5
	Manufacturer: Intel(R) Corporation
	ID: EC 06 08 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 142, Stepping 12
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
		CMOV (Conditional move instruction supported)
		PAT (Page attribute table)
		PSE-36 (36-bit page size extension)
		CLFSH (CLFLUSH instruction supported)
		DS (Debug store)
		ACPI (ACPI supported)
		MMX (MMX technology supported)
		FXSR (FXSAVE and FXSTOR instructions supported)
		SSE (Streaming SIMD extensions)
		SSE2 (Streaming SIMD extensions 2)
		SS (Self-snoop)
		HTT (Multi-threading)
		TM (Thermal monitor supported)
		PBE (Pending break enabled)
	Version: Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
	Voltage: 0.8 V
	External Clock: 100 MHz
	Max Speed: 8300 MHz
	Current Speed: 2772 MHz
	Status: Populated, Enabled
	Upgrade: Socket BGA1528
	L1 Cache Handle: 0x0005
	L2 Cache Handle: 0x0006
	L3 Cache Handle: 0x0007
	Serial Number: NULL
	Asset Tag: NULL
	Part Number: NULL
	Core Count: 4
	Core Enabled: 4
	Thread Count: 8
	Characteristics:
		64-bit capable
		Multi-Core
		Hardware Thread
		Execute Protection
		Enhanced Virtualization
		Power/Performance Control

Conclusión

Por supuesto, hay muchas más herramientas que le proporcionan información sobre el hardware en Linux. Puedes utilizarlas para obtener información de la CPU también.

En mi opinión, lscpu es el mejor comando si no quieres recordar nada. También puedes confiar en el archivo /proc/cpuinfo. Con estos dos estarás más que listo.

Y ahora, ya que has aprendido a comprobar la información de la CPU, tal vez te gustaría leer sobre la comprobación de la información del disco en Linux también.

Espero que te haya gustado este tutorial. Si tienes preguntas o sugerencias, por favor deja un comentario abajo, nos sería de mucha ayuda.

About the author
Marco Carmona

Marco Carmona

My name is Marco Antonio Carmona, I'm a physics and data science student, a great and passionate reader, and randomly, my favorite hobby is writing about what I learn day by day.

It's FOSS

Making You a Better Linux User

It's FOSS

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.