9 nyttige kommandoer for å få CPU-informasjon på Linux


I en tidligere artikkel har vi satt sammen en liste over 10 nyttige kommandoer for å samle system- og maskinvareinformasjon i Linux. I denne guiden vil vi avgrense til CPU/prosessor, og vise deg ulike måter å trekke ut detaljert informasjon om maskinens CPU.

Bare for å gi deg en oversikt, vil vi spørre etter informasjon som CPU-arkitektur, vendor_id, modell, modellnavn, antall CPU-kjerner, hastigheten til hver kjerne og mye mer.
I hovedsak inneholder /proc/cpuinfo all denne informasjonen, hver annen kommando/verktøy får utdata fra denne filen.

Med det sagt, nedenfor er 9 kommandoer for å få informasjon om din Linux CPU.

1. Få CPU-informasjon ved å bruke cat Command

Du kan ganske enkelt se informasjonen om system-CPU ved å se innholdet i /proc/cpuinfo-filen ved hjelp av cat-kommandoen som følger:

$ 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:
......

For å bli litt spesifikk kan du bruke grep-kommandoen – et CLI-verktøy for å søke i ren tekstdata etter linjer som samsvarer med et regulært uttrykk. Dette kan hjelpe deg med å skrive ut leverandørnavn, modellnavn, antall prosessorer, antall kjerner osv.:

$ 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. lscpu-kommando – Viser CPU-arkitekturinformasjon

Kommandoen lscpu skriver ut CPU-arkitekturinformasjon fra sysfs og /proc/cpuinfo som vist nedenfor:

$ 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. cpuid-kommando – Viser x86 CPU

Kommandoen cpuid dumper fullstendig informasjon om CPU(ene) samlet inn fra CPUID-instruksjonen, og oppdager også den eksakte modellen til x86 CPU(er) fra den informasjonen.

Sørg for å installere den før du kjører den.

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

Når den er installert, kjør cpuid for å samle informasjon om x86 CPU.

$ 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. dmidecode-kommando – Viser Linux-maskinvareinformasjon

dmidecode er et verktøy for å hente maskinvareinformasjon for ethvert Linux-system. Den dumper en datamaskins DMI (a.k.a. SMBIOS)-tabellinnhold i et menneskelest format for enkel gjenfinning. SMBIOS-spesifikasjonen definerer ulike DMI-typer, for CPU, bruk \prosessor som følger:

$ 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. Inxi Tool – Viser Linux-systeminformasjon

Inxi er et kraftig kommandolinjesysteminformasjonsskript beregnet på både konsoll og IRC (Internet Relay Chat). Du kan bruke den til å umiddelbart hente maskinvareinformasjon.

Du kan installere slik:

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

For å vise fullstendig CPU-informasjon, inkludert per CPU-klokkehastighet og CPU-makshastighet (hvis tilgjengelig), bruk -C-flagget som følger:

$ 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 – List maskinvarekonfigurasjon

lshw er et minimalt verktøy for å samle inn dybdeinformasjon om maskinvarekonfigurasjonen til en datamaskin. Du kan bruke -C-alternativet for å velge maskinvareklassen, CPU i dette tilfellet:

$ 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 – Viser maskinvareinformasjon i GTK+-vinduet

hardinfo viser maskinvareinformasjon i et GTK+-vindu, du kan installere det som følger:

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

Når du har installert det, skriv inn:

$ hardinfo 

Den lar deg også generere en systemmaskinvareinformasjonsrapport ved å klikke på \Generer rapport-knappen. Fra grensesnittet nedenfor, klikk på \Generer for å fortsette. Merk at du kan velge hvilken maskinvareinformasjonskategori som skal genereres.

Når du har generert rapporten i html-format, kan du se den fra en nettleser som vist nedenfor.

8. hwinfo – Viser nåværende maskinvareinformasjon

hwinfo brukes til å trekke ut informasjon om maskinvaren som finnes i et Linux-system. For å vise informasjon om CPU-en din, bruk --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 – Skriv ut antall behandlingsenheter

nproc-kommandoen brukes til å vise antall prosessorenheter på datamaskinen din:

$ nproc

For ytterligere bruksinformasjon og alternativer, les gjennom man-sidene for disse kommandoene slik:

$ man commandname

Sjekk også ut:

  1. Cpustat – Overvåker CPU-bruk ved å kjøre prosesser i Linux
  2. CoreFreq – Et kraftig CPU-overvåkingsverktøy for Linux-systemer
  3. Finn de mest populære prosessene etter høyeste minne- og CPU-bruk i Linux
  4. Hvordan pålegge høy CPU-belastning og stresstest på Linux ved å bruke 'Stress-ng'-verktøyet

Det var det for nå! Du kan dele med oss flere måter å trekke ut CPU-informasjon i Linux via tilbakemeldingsskjemaet nedenfor.