GNU/Linux >> LINUX-Kenntnisse >  >> Linux

5 Möglichkeiten, CPU-Informationen in Linux zu überprüfen

Es gibt eine Reihe von Möglichkeiten, wie Sie Informationen über den Prozessor Ihres Linux-Systems erhalten können. Ich zeige Ihnen mein bevorzugtes Tool für diese Aufgabe zusammen mit einigen zusätzlichen Möglichkeiten, CPUs unter Linux zu überprüfen.

CPU-Informationen mit dem lscpu-Befehl abrufen

Dies ist der einfachste Befehl, der die CPU-Informationen in einer einfachen und prägnanten Ausgabe anzeigt.

Sie können die Architektur Ihres Systems, die Anzahl der Prozessoren, Herstellerinformationen, Cache-Informationen, Prozessorgeschwindigkeit usw. sehen.

Es ist auch leichter zu merken, weil es dem Befehl ls ähnelt. Sie können es sich als „List-CPU“ vorstellen.

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

Nun… das sind die Prozessorinformationen für mein System und sie sollten auch für Ihr Linux-System ähnlich aussehen.

Wie Sie sehen, ist die wichtigste Information, dass mein System über einen Intel i5-7200U-Prozessor verfügt. Ich kann im Internet nach dieser Modellnummer suchen, um weitere Informationen zu erhalten.

Aber was bedeuten andere Felder in der Ausgabe? Welche Informationen haben Sie wirklich über den Prozessor hier? Lass es mich dir erklären. Die Informationen sind zu technisch, daher sollten Sie ein grundlegendes Verständnis der Begriffe hier haben.

Erklärung der lscpu-Befehlsausgabe

Die Architektur für mein System ist 64-Bit. Das bedeutet, dass es sich um einen 64-Bit-Prozessor handelt.

Die CPU-Op-Mods sind 32 Bit und 64 Bit, was bedeutet, dass sie sowohl als 32-Bit- als auch als 64-Bit-Prozessor arbeiten kann. Mit anderen Worten, Sie können sowohl 32-Bit- als auch 64-Bit-Betriebssysteme darauf installieren.

Die Byte-Reihenfolge ist Little Endian. Das bedeutet, dass Bytes in der Little-Endian-Reihenfolge angeordnet sind.

Die nächsten 4 Zeilen geben Auskunft über die Anzahl der Prozessoren, CPUs/Kerne und Threads. Ich würde vorschlagen, diesen Artikel zu lesen, um ein wenig über Prozessoren zu verstehen. Dieses Bild von Intel hilft auch bei der Veranschaulichung, was Sockel, CPU, Kern, Threads bedeuten.

Hier müssen wir in umgekehrter Reihenfolge vorgehen. Mein System hat hier 1 Socket, was bedeutet, dass es einen einzigen Chip für die CPUs hat.

Diese eine Steckdose hat 2 Adern. Dies bedeutet, dass der einzelne Chip zwei physische CPUs enthält. Dies gibt Ihnen die Anzahl der realen Kerne an, dh die tatsächlichen physischen CPUs.

Und wie Sie sehen können, hat jeder Kern zwei Threads. Threads sind im Grunde logische CPUs. Die Threads teilen sich physische Ausführungsressourcen des physischen Kerns, aber das Betriebssystem sieht sie als separate Kerne. Lesen Sie hier mehr über Hyperthreading.

Kurz gesagt, mein System hat einen Chip, der zwei physische CPUs enthält, und jede CPU ist in zwei logische CPUs unterteilt. Und so wird mein Dual-Core-System vom Betriebssystem als 4-CPU-fähig angesehen.

Es gibt einen NUMA-Knoten, der Hersteller ist Intel und die CPU-Familie ist 6.

Die CPU-Modellnummer ist 142 (meiner Meinung nach nicht relevant) und der Modellname ist Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (wichtigste Information).

Stepping ist eine Zahl, die von Intel verwendet wird, um anzugeben, auf welcher Stufe der Designänderung ein Mikroprozessor gebaut wurde.

Die aktuelle Taktrate meiner CPU beträgt 900,054 MHz, während ihre maximale Kapazität 3100 MHz und 400 MHz beträgt.

BogoMIPS ist „die Anzahl von Millionen Mal pro Sekunde, die ein Prozessor absolut nichts tun kann“.

Virtualisierung ist VT-x und wird verwendet, um „in VirtualBox, VMware, Hyper-V und anderen Apps erstellte virtuelle Maschinen zu beschleunigen“.

Bei den nächsten vier Einträgen geht es um den Cache. Es hat L1D (Daten-Cache) von 32 KB, L1I (Befehls-Cache) von 32 KB, L2-Cache von 256 KB und L3-Cache von 3072 KB. Lesen Sie diese Wiki-Seite, um schnelle Informationen zu CPU-Caches zu erhalten.

Als nächstes folgt der NUMA-Knoten für jede CPU (sowohl logische als auch physische CPUs).

Die letzte Zeile ist die Liste der herstellerspezifischen Feature-Flags. Sie können hier mehr darüber lesen.

Dieses Bild fasst die wichtigsten Prozessorinformationen zusammen, die Sie vom lscpu-Befehl erhalten.

Meiner Meinung nach ist der Befehl lscpu mehr als ausreichend, um Ihnen alle Informationen zu geben, die Sie benötigen.

Andere Befehle zum Überprüfen von CPU-Informationen in Linux

Es gibt andere Möglichkeiten, CPU-Informationen in der Linux-Befehlszeile abzurufen. Lassen Sie mich sie einzeln zeigen. Ich werde jedoch nicht ins Detail gehen, um ihre Ausgabe zu erklären.

1. Prüfen Sie den Inhalt von /proc/cpuinfo

Wenn Sie die Verzeichnisstruktur in Linux kennen, wissen Sie bereits, dass proc ein spezielles Verzeichnis in Linux ist. Es ist eigentlich ein virtuelles Dateisystem, das Laufzeitsysteminformationen wie Systemspeicher, gemountete Geräte, Hardwarekonfiguration usw. enthält.

Wenn Sie CPU-Informationen wünschen, können Sie den Inhalt der cpuinfo-Datei im proc-Verzeichnis lesen.

Beachten Sie, dass die cpuinfo-Datei detaillierte Informationen zu jedem Kern des Prozessors enthält.

Zum Beispiel hat der erste Kern meiner CPU die folgenden Informationen:

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:

Wenn Sie nur die Anzahl der CPU-Kerne (einschließlich physischer und logischer) angeben möchten, können Sie den grep-Befehl mit dem wc-Befehl verwenden.

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

4

2. Verwenden Sie den lshw-Befehl

lshw steht für „list hardware“. Ganz offensichtlich bedeutet es, die Hardwareinformationen aufzulisten.

Da der lshw-Befehl Informationen über die gesamte Hardware auf Ihrem System bereitstellt, wird es schwierig sein, genau das zu finden, wonach Sie suchen.

Aus diesem Grund bietet der Befehl lshw eine Option zum Eingrenzen Ihrer beabsichtigten Suche.

Um nur die Prozessorinformationen anzuzeigen, können Sie den lshw-Befehl folgendermaßen verwenden:

sudo lshw -class CPU

Dies zeigt eine Ausgabe wie diese:

*-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. Verwenden Sie hwinfo

hwinfo ist ein weiteres Befehlszeilentool, um Hardwareinformationen Ihres Linux-Systems abzurufen.

Sie müssen wahrscheinlich zuerst das hwinfo-Tool installieren. Unter Debian und Ubuntu können Sie den apt-Befehl verwenden, um es zu installieren.

sudo apt install hwinfo

Nach der Installation können Sie die CPU-Details auf diese Weise abrufen:

hwinfo --cpu

Sie sehen eine ähnliche Ausgabe für jeden Kern der 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. dmidecode-Befehl

dmidecode ist ein weiterer Befehl zum Abrufen verschiedener Arten von Hardwareinformationen Ihres Linux-Systems. Sie können damit die Speichernutzung in Linux überprüfen. Sie können es auch verwenden, um nur die Prozessorinformationen zu erhalten.

sudo dmidecode --type processor

Dieser Befehl benötigt ebenfalls sudo-Zugriff. Sie sehen eine Ausgabe wie diese:

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

Fazit

Natürlich gibt es noch viele weitere Tools, die Ihnen Hardware-Informationen in Linux liefern. Sie können sie auch verwenden, um CPU-Informationen zu erhalten.

lscpu ist meiner Meinung nach der beste Befehl, wenn man sich nichts merken will. Sie können sich auch auf die Datei /proc/cpuinfo verlassen. Verwenden Sie einfach diese beiden und Sie sind fertig.

Da Sie gelernt haben, CPU-Informationen zu überprüfen, möchten Sie vielleicht auch etwas über das Überprüfen der Festplatteninformationen unter Linux lesen.

Ich hoffe, Ihnen hat dieses Tutorial gefallen. Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. So überprüfen Sie die Betriebssystem- und Linux-Version

  2. So überprüfen Sie, ob ein Linux-System 32-Bit oder 64-Bit ist

  3. So überprüfen Sie die Systemverfügbarkeit in Linux

  4. So überprüfen Sie die Kernel-Version unter Linux

  5. Überprüfen Sie die Systemlast unter Linux

So erstellen Sie 100% CPU-Last auf einem Linux-System

So zeigen Sie Linux-CPU-Informationen mit CPUFetch an

So überprüfen/reparieren Sie das Linux-Dateisystem beim Booten

3 Möglichkeiten zum Überprüfen der Linux-Kernel-Version in der Befehlszeile

So überprüfen Sie Ihre Serverlast im Linux-System

So überprüfen Sie die Linux-CPU-Auslastung oder -Auslastung