9 ordres útils per obtenir informació de la CPU a Linux


En un article anterior, vam elaborar una llista de 10 ordres útils per recopilar informació del sistema i del maquinari a Linux. En aquesta guia, limitarem a la CPU/processador i us mostrarem diverses maneres d'extreure informació detallada sobre la CPU de la vostra màquina.

Només per donar-vos una visió general, demanarem informació com ara l'arquitectura de la CPU, vendor_id, model, nom del model, nombre de nuclis de CPU, velocitat de cada nucli i molt més.
Bàsicament, el /proc/cpuinfo conté tota aquesta informació, totes les altres ordres/utilitats obtenen la seva sortida d'aquest fitxer.

Dit això, a continuació hi ha 9 ordres per obtenir informació sobre la vostra CPU Linux.

1. Obteniu informació de la CPU mitjançant l'ordre cat

Només podeu veure la informació de la CPU del vostre sistema visualitzant el contingut del fitxer /proc/cpuinfo amb l'ajuda de l'ordre cat de la següent manera:

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
stepping	: 1
microcode	: 0x1c
cpu MHz		: 1700.062
cache size	: 3072 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 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
bugs		:
bogomips	: 4788.92
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:
......

Per concretar-vos una mica, podeu utilitzar l'ordre grep, una eina CLI per cercar dades de text sense format per línies que coincideixin amb una expressió regular. Això només us pot ajudar a sortir el nom del venedor, el nom del model, el nombre de processadors, el nombre de nuclis, etc.:

$ cat /proc/cpuinfo | grep 'vendor' | uniq		#view vendor name
$ cat /proc/cpuinfo | grep 'model name' | uniq		#display model name
$ cat /proc/cpuinfo | grep processor | wc -l		#count the number of processing units
$ cat /proc/cpuinfo | grep 'core id'			#show individual cores	

2. Ordre lscpu: mostra la informació de l'arquitectura de la CPU

L'ordre lscpu imprimeix la informació de l'arquitectura de la CPU des de sysfs i /proc/cpuinfo tal com es mostra a continuació:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Model name:            Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
Stepping:              1
CPU MHz:               1303.687
CPU max MHz:           2700.0000
CPU min MHz:           800.0000
BogoMIPS:              4788.92
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
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 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts

3. Ordre cpuid – Mostra la CPU x86

L'ordre cpuid aboca informació completa sobre les CPU recopilades de la instrucció CPUID i també descobreix el model exacte de CPU x86 a partir d'aquesta informació.

Assegureu-vos d'instal·lar-lo abans d'executar-lo.

$ sudo apt install cpuid        #Debian/Ubuntu systems
$ sudo yum install cpuid	#RHEL/CentOS systems 
$ sudo dnf install cpuid	#Fedora 22+ 

Un cop instal·lat, executeu cpuid per recopilar informació sobre la CPU x86.

$ cpuid
CPU 0:
   vendor_id = "GenuineIntel"
   version information (1/eax):
      processor type  = primary processor (0)
      family          = Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom, AMD Athlon/Duron, Cyrix M2, VIA C3 (6)
      model           = 0x5 (5)
      stepping id     = 0x1 (1)
      extended family = 0x0 (0)
      extended model  = 0x4 (4)
      (simple synth)  = Intel Mobile Core i3-4000Y / Mobile Core i5-4000Y / Mobile Core i7-4000Y / Mobile Pentium 3500U/3600U/3500Y / Mobile Celeron 2900U (Mobile U/Y) (Haswell), 22nm
   miscellaneous (1/ebx):
      process local APIC physical ID = 0x0 (0)
      cpu count                      = 0x10 (16)
      CLFLUSH line size              = 0x8 (8)
      brand index                    = 0x0 (0)
   brand id = 0x00 (0): unknown
   feature information (1/edx):
      x87 FPU on chip                        = true
      virtual-8086 mode enhancement          = true
      debugging extensions                   = true
      page size extensions                   = true
      time stamp counter                     = true
      RDMSR and WRMSR support                = true
      physical address extensions            = true
....

4. Ordre dmidecode: mostra la informació del maquinari de Linux

dmidecode és una eina per recuperar informació de maquinari de qualsevol sistema Linux. Aboca el contingut de la taula DMI (també conegut com SMBIOS) d'un ordinador en un format llegible per a persones per a una recuperació fàcil. L'especificació SMBIOS defineix diversos tipus de DMI, per a la CPU, utilitzeu \processador de la següent manera:

$ sudo dmidecode --type processor
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0004, DMI type 4, 42 bytes
Processor Information
	Socket Designation: U3E1
	Type: Central Processor
	Family: Core i5
	Manufacturer: Intel(R) Corporation
	ID: 51 06 04 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 69, Stepping 1
	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)
.....

5. Eina Inxi: mostra la informació del sistema Linux

Inxi és un potent script d'informació del sistema de línia d'ordres destinat tant a la consola com a l'IRC (Internet Relay Chat). Podeu utilitzar-lo per recuperar informació de maquinari a l'instant.

Podeu instal·lar així:

$ sudo apt install inxi 	#Debian/Ubuntu systems
$ sudo yum install inxi		#RHEL/CentOS systems 
$ sudo dnf install inxi		#Fedora 22+ 

Per mostrar la informació completa de la CPU, inclosa la velocitat de rellotge de la CPU i la velocitat màxima de la CPU (si està disponible), utilitzeu el senyalador -C de la següent manera:

$ inxi -C
CPU:       Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB 
           clock speeds: max: 2700 MHz 1: 1958 MHz 2: 1993 MHz 3: 1775 MHz 4: 1714 MHz

6. lshw Tool – Llista de configuració de maquinari

lshw és una eina mínima per recopilar informació detallada sobre la configuració del maquinari d'un ordinador. Podeu utilitzar l'opció -C per seleccionar la classe de maquinari, CPU en aquest cas:

$ sudo lshw -C CPU
*-cpu                   
       description: CPU
       product: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
       vendor: Intel Corp.
       physical id: 4
       bus info: [email 
       version: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
       serial: To Be Filled By O.E.M.
       slot: U3E1
       size: 2626MHz
       capacity: 2700MHz
       width: 64 bits
       clock: 100MHz
       capabilities: x86-64 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 constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts cpufreq
       configuration: cores=2 enabledcores=2 threads=4

7. hardinfo – Mostra la informació del maquinari a la finestra GTK+

hardinfo mostra informació de maquinari en una finestra GTK+, podeu instal·lar-la de la següent manera:

$ sudo apt install hardinfo 	#Debian/Ubuntu systems
$ sudo yum install hardinfo	#RHEL/CentOS systems 
$ sudo dnf install hardinfo	#Fedora 22+ 

Un cop el tingueu instal·lat, escriviu:

$ hardinfo 

També us permet generar un informe d'informació de maquinari del sistema fent clic al botó \Genera informe. Des de la interfície següent, feu clic a \Genera per continuar. Tingueu en compte que podeu triar la categoria d'informació de maquinari que voleu generar.

Un cop hàgiu generat l'informe en format html, podeu visualitzar-lo des d'un navegador web tal com es mostra a continuació.

8. hwinfo: mostra la informació actual del maquinari

hwinfo s'utilitza per extreure informació sobre el maquinari present en un sistema Linux. Per mostrar informació sobre la vostra CPU, feu servir el --cpu

$ hwinfo --cpu
01: None 00.0: 10103 CPU                                        
  [Created at cpu.460]
  Unique ID: rdCR.j8NaKXDZtZ6
  Hardware Class: cpu
  Arch: X86-64
  Vendor: "GenuineIntel"
  Model: 6.69.1 "Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz"
  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,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,aperfmperf,eagerfpu,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,sdbg,fma,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,movbe,popcnt,tsc_deadline_timer,aes,xsave,avx,f16c,rdrand,lahf_lm,abm,epb,tpr_shadow,vnmi,flexpriority,ept,vpid,fsgsbase,tsc_adjust,bmi1,avx2,smep,bmi2,erms,invpcid,xsaveopt,dtherm,ida,arat,pln,pts
  Clock: 2080 MHz
  BogoMips: 4788.92
  Cache: 3072 kb
  Units/Processor: 16
  Config Status: cfg=new, avail=yes, need=no, active=unknown
....

9. nproc – Impressió del nombre d'unitats de processament

L'ordre nproc s'utilitza per mostrar el nombre d'unitats de processament presents a l'ordinador:

$ nproc

Per obtenir informació i opcions d'ús addicionals, llegiu les pàgines man d'aquestes ordres com aquesta:

$ man commandname

A més, fes una ullada a:

  1. Cpustat: supervisa la utilització de la CPU mitjançant l'execució de processos a Linux
  2. CoreFreq: una potent eina de supervisió de la CPU per a sistemes Linux
  3. Cerca els processos que s'executen amb major ús de memòria i CPU a Linux
  4. Com imposar una càrrega elevada de la CPU i una prova d'estrès a Linux mitjançant l'eina Stress-ng

Això és tot de moment! Podeu compartir amb nosaltres maneres addicionals d'extreure informació de la CPU a Linux mitjançant el formulari de comentaris següent.