GNU/Linux >> Linux Esercitazione >  >> Linux

5 modi per controllare le informazioni sulla CPU in Linux

Esistono diversi modi per ottenere informazioni sul processore sul tuo sistema Linux. Ti mostrerò il mio strumento preferito per questa attività insieme ad alcuni modi aggiuntivi per controllare le CPU in Linux.

Ottieni informazioni sulla CPU con il comando lscpu

Questo è il comando più semplice che mostra le informazioni della CPU in un output semplice e conciso.

Puoi vedere l'architettura del tuo sistema, il numero di processori, le informazioni sul fornitore, le informazioni sulla cache, la velocità del processore ecc.

È anche più facile da ricordare perché è simile al comando ls. Puoi pensarlo come "list cpu".

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:               142
Model name:          Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Stepping:            9
CPU MHz:             900.054
CPU max MHz:         3100.0000
CPU min MHz:         400.0000
BogoMIPS:            5424.00
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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq 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 pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust 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 flush_l1d

Bene... queste sono le informazioni sul processore per il mio sistema e dovrebbero apparire in qualche modo simili anche per il tuo sistema Linux.

Come puoi vedere, l'informazione più importante è che il mio sistema ha un processore Intel i5-7200U. Posso andare a cercare sul Web questo numero di modello per ottenere maggiori informazioni.

Ma cosa significano gli altri campi nell'output? Quali informazioni hai davvero sul processore qui? Lascia che te lo spieghi. Le informazioni sono troppo tecniche, quindi dovresti avere una conoscenza di base dei termini qui.

spiegazione dell'output del comando lscpu

L'architettura per il mio sistema è a 64 bit. Ciò significa che è un processore a 64 bit.

Gli op-mod della CPU sono a 32 bit e 64 bit, il che significa che può funzionare sia come processore a 32 bit che a 64 bit. In altre parole, puoi installare sia sistemi operativi a 32 bit che a 64 bit.

L'ordine dei byte è Little Endian. Ciò significa che i byte sono disposti secondo l'ordine di Little Endian.

Le prossime 4 righe indicano il numero di processori, CPU/core e thread. Suggerirei di leggere questo articolo per capire un po' i processori. Questa immagine di Intel aiuta anche a visualizzare il significato di socket, CPU, core e thread.

Dobbiamo andare nell'ordine inverso qui. Il mio sistema ha 1 socket qui, il che significa che ha un singolo chip per le CPU.

Quella presa ha 2 core. Significa che il singolo chip ha due CPU fisiche su di esso. Questo ti dice il numero di core reali, ovvero le CPU fisiche effettive.

E come puoi vedere, ogni core ha due thread. I thread sono fondamentalmente CPU logiche. I thread condividono le risorse di esecuzione fisiche del core fisico ma il sistema operativo le vede come core separati. Leggi di più sull'hyper-threading qui.

In breve, il mio sistema ha un chip che contiene due CPU fisiche e ciascuna CPU è divisa in due CPU logiche. E quindi il mio sistema dual core è visto come dotato di 4 CPU dal sistema operativo.

C'è un nodo NUMA, il fornitore è Intel e la famiglia di CPU è 6.

Il numero di modello della CPU è 142 (non rilevante secondo me) e il nome del modello è CPU Intel(R) Core(TM) i5-7200U @ 2.50GHz (informazioni più importanti).

Stepping è un numero utilizzato da Intel per identificare a quale livello di modifica del design è stato creato un microprocessore.

L'attuale velocità di clock della mia CPU è 900.054 MHz mentre la sua capacità massima è 3100 MHz e 400 MHz.

BogoMIPS è "il numero di milioni di volte al secondo che un processore non può fare assolutamente nulla".

La virtualizzazione è VT-x e viene utilizzata per "aiutare ad accelerare le macchine virtuali create in VirtualBox, VMware, Hyper-V e altre app".

Le prossime quattro voci riguardano la cache. Ha L1D (cache di dati) di 32K, L1I (cache di istruzioni) di 32K, cache L2 di 256K e cache L3 di 3072K. Leggi questa pagina wiki per ottenere informazioni rapide sulle cache della CPU.

Il prossimo è il nodo NUMA per ciascuna CPU (sia logiche che fisiche).

L'ultima riga è l'elenco dei flag di funzionalità specifici del produttore. Puoi leggere di più su di loro qui.

Questa immagine riassume le informazioni più importanti sul processore che ottieni dal comando lscpu.

Secondo me, il comando lscpu è più che sufficiente per darti tutte le informazioni di cui hai bisogno.

Altri comandi per controllare le informazioni sulla CPU in Linux

Esistono altri modi per ottenere informazioni sulla CPU nella riga di comando di Linux. Lascia che li mostri uno per uno. Tuttavia, non entrerò in dettaglio per spiegare il loro output.

1. Controlla il contenuto di /proc/cpuinfo

Se sei a conoscenza della struttura delle directory in Linux, sai già che proc è una directory speciale in Linux. In realtà è un filesystem virtuale che contiene informazioni di sistema di runtime come memoria di sistema, dispositivi montati, configurazione hardware ecc.

Se desideri informazioni sulla CPU, puoi leggere il contenuto del file cpuinfo nella directory proc.

Si noti che il file cpuinfo contiene informazioni dettagliate su ciascun core del processore.

Ad esempio, il primo core della mia CPU ha le seguenti informazioni:

processor    : 0
 vendor_id    : GenuineIntel
 cpu family    : 6
 model        : 142
 model name    : Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
 stepping    : 9
 microcode    : 0x8e
 cpu MHz        : 800.026
 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    : 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 tsc_known_freq 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 pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust 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 flush_l1d
 bugs        : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
 bogomips    : 5424.00
 clflush size    : 64
 cache_alignment    : 64
 address sizes    : 39 bits physical, 48 bits virtual
 power management:

Se vuoi solo il numero di core della CPU (inclusi quelli fisici e logici), puoi usare il comando grep con il comando wc.

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

4

2. Usa il comando lshw

lshw sta per 'elenco hardware'. Ovviamente, significa elencare le informazioni sull'hardware.

Poiché il comando lshw fornisce informazioni su tutto l'hardware del tuo sistema, sarà difficile trovare esattamente quello che stai cercando.

Questo è il motivo per cui il comando lshw fornisce un'opzione per restringere la ricerca prevista.

Per mostrare solo le informazioni sul processore, puoi usare il comando lshw nel modo seguente:

sudo lshw -class CPU

Questo mostrerà un output come questo:

*-cpu                     
        description: CPU
        product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
        vendor: Intel Corp.
        physical id: 3f
        bus info: [email protected]
        version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
        serial: To Be Filled By O.E.M.
        slot: U3E1
        size: 2964MHz
        capacity: 3100MHz
        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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq 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 pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust 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 flush_l1d cpufreq
        configuration: cores=2 enabledcores=2 threads=4

3. Usa hwinfo

hwinfo è un altro strumento da riga di comando per ottenere informazioni sull'hardware del tuo sistema Linux.

Probabilmente devi prima installare lo strumento hwinfo. Su Debian e Ubuntu, puoi usare il comando apt per installarlo.

sudo apt install hwinfo

Una volta installato, puoi ottenere i dettagli della CPU in questo modo:

hwinfo --cpu

Vedrai un output simile a questo per ogni core della 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.142.9 "Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz"
   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,tsc_known_freq,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,pti,ssbd,ibrs,ibpb,stibp,tpr_shadow,vnmi,flexpriority,ept,vpid,fsgsbase,tsc_adjust,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,flush_l1d
   Clock: 3050 MHz
   BogoMips: 5424.00
   Cache: 3072 kb
   Units/Processor: 16
   Config Status: cfg=new, avail=yes, need=no, active=unknown

4. Comando dmidecode

dmidecode è un altro comando per recuperare vari tipi di informazioni hardware del tuo sistema Linux. Puoi controllare l'utilizzo della memoria in Linux con esso. Puoi anche usarlo per ottenere solo le informazioni sul processore.

sudo dmidecode --type processor

Anche questo comando richiede l'accesso sudo. Vedrai un output come questo:

dmidecode 3.1
 Getting SMBIOS data from sysfs.
 SMBIOS 3.0.0 present.
 Handle 0x003F, DMI type 4, 48 bytes
 Processor Information
     Socket Designation: U3E1
     Type: Central Processor
     Family: Core i5
     Manufacturer: Intel(R) Corporation
     ID: E9 06 08 00 FF FB EB BF
     Signature: Type 0, Family 6, Model 142, Stepping 9
     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-7200U CPU @ 2.50GHz
     Voltage: 0.8 V
     External Clock: 100 MHz
     Max Speed: 2500 MHz
     Current Speed: 2400 MHz
     Status: Populated, Enabled
     Upgrade: Other
     L1 Cache Handle: 0x003C
     L2 Cache Handle: 0x003D
     L3 Cache Handle: 0x003E
     Serial Number: To Be Filled By O.E.M.
     Asset Tag: To Be Filled By O.E.M.
     Part Number: To Be Filled By O.E.M.
     Core Count: 2
     Core Enabled: 2
     Thread Count: 4
     Characteristics:
         64-bit capable
         Multi-Core
         Hardware Thread
         Execute Protection
         Enhanced Virtualization
         Power/Performance Control

Conclusione

Naturalmente, ci sono molti altri strumenti che forniscono informazioni sull'hardware in Linux. Puoi utilizzarli anche per ottenere informazioni sulla CPU.

Secondo me, lscpu è il comando migliore se non vuoi ricordare nulla. Puoi anche fare affidamento sul file /proc/cpuinfo. Usa questi due e sarai pronto.

Dato che hai imparato a controllare le informazioni sulla CPU, forse ti piacerebbe leggere come controllare le informazioni sul disco anche in Linux.

Spero che questo tutorial ti sia piaciuto. Se hai domande o suggerimenti, lascia un commento qui sotto.


Linux
  1. Come controllare la versione del sistema operativo e di Linux

  2. Come verificare se un sistema Linux è a 32 o 64 bit

  3. Come controllare il tempo di attività del sistema in Linux

  4. Come controllare la versione del kernel su Linux

  5. Controlla il carico di sistema su Linux

Come creare il 100% del carico della CPU su un sistema Linux

Come visualizzare le informazioni sulla CPU di Linux utilizzando CPUFetch

Come controllare/riparare il file system Linux all'avvio

3 modi per controllare la versione del kernel Linux nella riga di comando

Come controllare il carico del server nel sistema Linux

Come controllare l'utilizzo o l'utilizzo della CPU di Linux