Ci sono un certo numero di modi in cui puoi ottenere informazioni sul processore sul tuo sistema Linux. Ti mostrerò il mio strumento preferito per questo compito 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 sulla 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. Si può pensare ad esso come ‘lista cpu’.
Architecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 4On-line CPU(s) list: 0-3Thread(s) per core: 2Core(s) per socket: 2Socket(s): 1NUMA node(s): 1Vendor ID: GenuineIntelCPU family: 6Model: 142Model name: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHzStepping: 9CPU MHz: 900.054CPU max MHz: 3100.0000CPU min MHz: 400.0000BogoMIPS: 5424.00Virtualization: VT-xL1d cache: 32KL1i cache: 32KL2 cache: 256KL3 cache: 3072KNUMA node0 CPU(s): 0-3Flags: 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
Beh Well questa è l’informazione del processore per il mio sistema e dovrebbe essere in qualche modo simile 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 e cercare sul web questo numero di modello per ottenere maggiori informazioni.
Ma cosa significano 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 comprensione di base dei termini qui.
spiegazione dell’output del comando lscpu
L’architettura per il mio sistema è a 64 bit. Il che 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, è possibile installare sia sistemi operativi a 32 bit che a 64 bit.
L’ordine dei byte è Little Endian. Il che significa che i byte sono disposti secondo l’ordine Little Endian.,
Le prossime 4 righe indicano il numero di processori, CPU/core e thread. Suggerirei di leggere questo articolo per capire un po ‘ sui processori. Questa immagine di Intel aiuta anche a visualizzare cosa significano socket, CPU, core, thread.
Qui dobbiamo andare nell’ordine inverso. Il mio sistema ha 1 socket qui, il che significa che ha un singolo chip per le CPU.
Che un socket ha 2 core. Significa che il singolo chip ha due CPU fisiche su di esso., Questo ti dice il numero di core reali, cioè 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 fisica del core fisico, ma il sistema operativo li vede come core separati. Per saperne di più su hyper – threading qui.
In breve, il mio sistema ha un chip che contiene due CPU fisiche e ogni CPU è divisa in due CPU logiche. E così il mio sistema dual core è visto come avente 4 CPU dal sistema operativo.
C’è un nodo NUMA, il fornitore è Intel e la famiglia di CPU è 6.,
Stepping è un numero utilizzato da Intel per identificare il livello di modifica del design a cui è stato costruito un microprocessore.
La velocità di clock corrente 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 (data cache) di 32K, L1I (instruction cache) di 32K, L2 cache di 256K e L3 cache di 3072K. Leggi questa pagina wiki per ottenere informazioni rapide sulle cache della CPU.
Il prossimo è il nodo NUMA per ogni CPU (sia CPU logiche che fisiche).
L’ultima riga è l’elenco dei flag di funzionalità specifici del produttore. Si può leggere di più su di loro qui.
Questa immagine riassume le informazioni più importanti del processore che si ottengono dal comando lscpu.,
A mio parere, 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
Ci sono altri modi per ottenere informazioni sulla CPU nella riga di comando di Linux. Lascia che li mostri uno per uno. Tuttavia, non andrò in dettaglio per spiegare il loro output.
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 si desidera informazioni sulla CPU, è possibile leggere il contenuto del file cpuinfo nella directory proc.
Si dovrebbe notare che il file cpuinfo ha 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 si desidera solo il numero di core della CPU (compresi quelli fisici e logici), è possibile utilizzare il comando grep con il comando wc.,
cat /proc/cpuinfo | grep processor | wc -l4
Usa il comando lshw
lshw sta per ‘list hardware’. Ovviamente, significa elencare le informazioni hardware.
Poiché il comando lshw fornisce informazioni su tutto l’hardware del sistema, sarà difficile trovare esattamente quello che stai cercando.
Questo è il motivo per cui il comando lshw fornisce l’opzione per restringere la ricerca prevista.,
Per mostrare solo le informazioni del 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: cpu@0 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
Usa hwinfo
hwinfo è un altro strumento da riga di comando per ottenere informazioni hardware del tuo sistema Linux.
Probabilmente devi prima installare lo strumento hwinfo. Su Debian e Ubuntu, è possibile utilizzare il comando apt per installarlo.,
sudo apt install hwinfo
una Volta installato, è possibile ottenere la CPU dettagli in questo modo:
hwinfo --cpu
vedrete un output simile a questo per ogni core della CPU:
dmidecode Comando
dmidecode è un altro comando per recuperare vari tipi di informazioni sull’hardware del sistema Linux. È possibile controllare l’utilizzo della memoria in Linux con esso. Puoi anche usarlo per ottenere solo le informazioni del processore.
sudo dmidecode --type processor
Anche questo comando necessita di 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 hardware in Linux. Puoi utilizzarli per ottenere anche informazioni sulla CPU.
A mio parere, lscpu è il comando migliore se non vuoi ricordare nulla. Puoi anche fare affidamento sul file / proc / cpuinfo. Basta usare questi due e sarete pronti.
Dal momento che hai imparato a controllare le informazioni sulla CPU, forse ti piacerebbe leggere anche il controllo delle informazioni sul disco in Linux.