Wie man Prozessorinformationen (CPU) unter Linux herausfindet
Es gibt mehrere Möglichkeiten, Prozessorinformationen (CPU) unter Linux-Betriebssystemen herauszufinden. Diese Methoden umfassen in der Regel die Verwendung von Befehlszeilentools. Die am häufigsten verwendeten Tools sind die Datei /proc/cpuinfo
, der Befehl lscpu
, der Befehl cpuid
und der Befehl dmidecode
. Jedes hat seine eigenen Vorteile und Anwendungsszenarien.
- /proc/cpuinfo: Die grundlegendste und universellste Methode. Sie ist auf jedem Linux-System vorhanden und liefert detaillierte Informationen über die Prozessorkerne.
- lscpu: Bietet eine benutzerfreundlichere Ausgabe und fasst Informationen wie die Prozessorarchitektur und die Anzahl der Sockel zusammen.
- cpuid: Wird verwendet, um die Funktionen des Prozessors detaillierter zu untersuchen. Wird in der Regel von technisch versierteren Benutzern bevorzugt.
- dmidecode: Liefert allgemeine Informationen über die Systemhardware und kann verwendet werden, um Informationen wie den Prozessorsockel zu erhalten.
Um beispielsweise den Inhalt der Datei /proc/cpuinfo
anzuzeigen, können Sie den folgenden Befehl verwenden:
cat /proc/cpuinfo
Dieser Befehl gibt eine lange Ausgabe mit einem separaten Abschnitt für jeden Prozessorkern im System aus. Jeder Abschnitt enthält Informationen wie den Modellnamen des Kerns, die Taktrate, die Cache-Größe und die unterstützten Funktionen.
Um den Befehl lscpu
zu verwenden, können Sie den folgenden Befehl ausführen:
lscpu
Dieser Befehl gibt eine übersichtlichere Ausgabe aus und zeigt grundlegende Informationen wie die Prozessorarchitektur, die Anzahl der Sockel, die Anzahl der Kerne und die Anzahl der Threads an.
Welcher Befehl ist in welcher Situation nützlicher?
Welcher Befehl verwendet werden sollte, hängt von den benötigten Informationen und dem Detaillierungsgrad ab.
- Grundlegende Informationen: Wenn Sie grundlegende Informationen wie das Prozessormodell und die Anzahl der Kerne benötigen, ist der Befehl
lscpu
nützlicher. - Detaillierte Informationen: Wenn Sie detailliertere Informationen wie die vom Prozessor unterstützten Funktionen und die Cache-Größen benötigen, ist die Datei
/proc/cpuinfo
besser geeignet. - Detaillierte Untersuchung: Wenn Sie viel detailliertere technische Details wie die Mikroarchitektur des Prozessors und die unterstützten Befehlssätze benötigen, kann der Befehl
cpuid
verwendet werden. - Hardwareinformationen: Wenn Sie Hardwareinformationen wie den Prozessorsockel und die Systemkarteninformationen benötigen, kann der Befehl
dmidecode
hilfreich sein.
Die folgende Tabelle fasst zusammen, welche Art von Informationen diese Befehle liefern und in welchen Situationen sie nützlicher sind:
Befehl | Bereitgestellte Informationen | Anwendungsbereiche |
---|---|---|
/proc/cpuinfo |
Modellname, Taktrate, Cache-Größe, unterstützte Funktionen (Flags). | Detaillierte Prozessorfunktionen untersuchen, Informationen pro Kern abrufen. |
lscpu |
Architektur, Anzahl der Sockel, Anzahl der Kerne, Anzahl der Threads, Cache-Größen. | Grundlegende Prozessorinformationen übersichtlich anzeigen, Systemressourcen verstehen. |
cpuid |
Mikroarchitektur, Befehlssätze, Herstellerinformationen, Funktionsflags. | Detaillierte technische Spezifikationen des Prozessors untersuchen, Leistungsanalyse durchführen. |
dmidecode |
Informationen zur Systemplatine, Informationen zum Prozessorsockel, BIOS-Informationen, Speicherinformationen. | Hardwareinformationen abrufen, Systemkonfiguration verstehen. |
Was ist der Unterschied zwischen der Anzahl der Prozessorkerne und der Anzahl der Threads?
Die Anzahl der Prozessorkerne gibt die Anzahl der physisch vorhandenen Prozessorkerne an. Jeder Kern kann unabhängig voneinander einen Prozess ausführen. Die Anzahl der Threads gibt an, wie viele Prozesse jeder Kern gleichzeitig ausführen kann. Wenn ein Prozessor beispielsweise 4 Kerne und 8 Threads hat, kann dieser Prozessor gleichzeitig 8 verschiedene Prozesse ausführen. Dies ist in der Regel dank der Hyper-Threading-Technologie möglich.
Hyper-Threading ermöglicht es einem physischen Kern, sich wie zwei virtuelle Kerne zu verhalten. Dadurch arbeitet der Prozessor effizienter und kann gleichzeitig mehr Arbeitslasten bewältigen. Virtuelle Kerne sind jedoch nicht so leistungsstark wie physische Kerne. Daher ist der Leistungsunterschied zwischen einem 4-Kern-Prozessor und einem 8-Kern-Prozessor größer als der Leistungsunterschied zwischen einem 4-Kern-Prozessor mit 8 Threads und einem 8-Kern-Prozessor.
Der Befehl lscpu
zeigt sowohl die Anzahl der Kerne als auch die Anzahl der Threads an. Die Zeile "CPU(s)" zeigt die Gesamtzahl der Threads an, während die Zeile "Core(s) per socket" die Anzahl der Kerne pro Sockel und die Zeile "Socket(s)" die Anzahl der Sockel im System anzeigt.
Zum Beispiel in der folgenden lscpu
-Ausgabe:
Architektur: x86_64
CPU-Betriebsmodi: 32-Bit, 64-Bit
Byte-Reihenfolge: Little Endian
CPU(s): 8
Online-CPU(s)-Liste: 0-7
Thread(s) pro Kern: 2
Kern(e) pro Sockel: 4
Sockel: 1
NUMA-Knoten: 1
Hersteller-ID: GenuineIntel
CPU-Familie: 6
Modell: 158
Modellname: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
Stepping: 10
CPU MHz: 3700.000
BogoMIPS: 7400.00
Virtualisierung: VT-x
L1d Cache: 32K
L1i Cache: 32K
L2 Cache: 256K
L3 Cache: 12288K
NUMA-Knoten0 CPU(s): 0-7
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 pni pclmulqdq dtes64 monitor ds_cpl vmx smx 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 ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_target hwp_perf_ctl md_clear flush_l1d
Es gibt 8 Threads (CPU(s)), 4 Kerne (Core(s) pro Sockel) und 1 Sockel (Socket(s)). Dies deutet darauf hin, dass die CPU 4 Kerne hat und Hyper-Threading unterstützt.
Wie überprüfe ich die Prozessorgeschwindigkeit (Taktrate)?
Die Prozessorgeschwindigkeit gibt an, wie viele Operationen der Prozessor pro Sekunde ausführen kann. Sie wird normalerweise in GHz (Gigahertz) angegeben. Es gibt verschiedene Methoden, um die Prozessorgeschwindigkeit zu überprüfen.
- /proc/cpuinfo: Diese Datei zeigt die Basistaktrate des Prozessors an. Dieser Wert ist jedoch möglicherweise nicht immer korrekt, da der Prozessor die Taktrate dynamisch ändern kann.
- lscpu: Dieser Befehl zeigt die Basistaktrate und die maximale Taktrate des Prozessors an.
- cpufreq-info: Dieser Befehl zeigt die aktuelle Taktrate, die minimale Taktrate und die maximale Taktrate des Prozessors an. Dieser Befehl wird mit dem cpufrequtils-Paket geliefert und ist auf einigen Systemen möglicherweise nicht standardmäßig installiert.
- turbostat: Dieser Befehl zeigt die Echtzeit-Taktrate und den Stromverbrauch des Prozessors an. Dieser Befehl wird mit dem kernel-tools-Paket geliefert und ist auf einigen Systemen möglicherweise nicht standardmäßig installiert.
Um die Prozessorgeschwindigkeit aus der Datei /proc/cpuinfo
zu ermitteln, können Sie den folgenden Befehl verwenden:
cat /proc/cpuinfo | grep "cpu MHz"
Dieser Befehl zeigt die Prozessorgeschwindigkeit für jeden Kern an.
Um die Prozessorgeschwindigkeit mit dem Befehl lscpu
zu ermitteln, können Sie den folgenden Befehl verwenden:
lscpu | grep "CPU MHz"
Dieser Befehl zeigt die Basistaktrate des Prozessors an.
Um die Prozessorgeschwindigkeit mit dem Befehl cpufreq-info
zu ermitteln, können Sie den folgenden Befehl verwenden:
cpufreq-info
Dieser Befehl zeigt die aktuelle Taktrate, die minimale Taktrate und die maximale Taktrate für jeden Kern an.
Um die Prozessorgeschwindigkeit mit dem Befehl turbostat
zu ermitteln, können Sie den folgenden Befehl verwenden:
turbostat
Dieser Befehl zeigt die Echtzeit-Taktrate und den Stromverbrauch des Prozessors an. Dieser Befehl zeigt die durchschnittliche Taktrate aller Kerne im System an.
Wichtiger Hinweis: Die Prozessorgeschwindigkeit kann sich dynamisch ändern, abhängig von der Systemlast und den Energieverwaltungseinstellungen. Daher können verschiedene Befehle unterschiedliche Ergebnisse liefern.
Wie überwache ich die Prozessortemperatur?
Die Überwachung der Prozessortemperatur ist wichtig, um die Stabilität und Leistung des Systems zu erhalten. Überhitzung kann zu Leistungseinbußen und sogar zu Hardwareschäden führen. Es gibt mehrere Methoden, um die Prozessortemperatur unter Linux zu überwachen.
- lm-sensors: Dies ist die am häufigsten verwendete Methode. Das lm-sensors-Paket erkennt Hardwaresensoren im System und liefert Informationen wie Temperatur, Lüftergeschwindigkeit und Spannung.
- /sys/class/thermal: Dieses Verzeichnis enthält Informationen über die thermischen Zonen im System. Für jede thermische Zone gibt es ein Unterverzeichnis, und diese Verzeichnisse enthalten Dateien mit Temperaturinformationen.
- i7z: Dies ist ein Tool, das für Intel-Prozessoren entwickelt wurde. Es zeigt die Prozessortemperatur, die Taktrate und den Stromverbrauch in Echtzeit an.
Um lm-sensors zu installieren, können Sie den folgenden Befehl verwenden:
sudo apt-get install lm-sensors # Debian/Ubuntu
sudo yum install lm_sensors # Fedora/CentOS
Nach der Installation müssen Sie den folgenden Befehl ausführen, um die Sensoren zu erkennen:
sudo sensors-detect
Dieser Befehl erkennt alle Sensoren im System und installiert die entsprechenden Treiber. Es ist wichtig, die Fragen des Befehls sorgfältig zu beantworten.
Nachdem die Sensoren erkannt wurden, können Sie den folgenden Befehl verwenden, um die Temperaturinformationen anzuzeigen:
sensors
Dieser Befehl zeigt Informationen wie Temperatur, Lüftergeschwindigkeit und Spannung aller Sensoren im System an. Die Prozessortemperatur wird normalerweise mit Etiketten wie "Core 0", "Core 1" usw. angegeben.
Um die Prozessortemperatur mit dem Verzeichnis /sys/class/thermal
zu ermitteln, können Sie die folgenden Schritte ausführen:
- Gehen Sie zum Verzeichnis
/sys/class/thermal
:cd /sys/class/thermal
- Listen Sie die Verzeichnisse mit dem Namen
thermal_zone*
auf:ls
- Finden Sie das
thermal_zone*
-Verzeichnis, das der CPU entspricht. Normalerweise entsprichtthermal_zone0
oderthermal_zone1
der CPU. - Verwenden Sie den folgenden Befehl, um die Temperaturinformationen zu lesen:
cat thermal_zone0/temp
Dieser Befehl zeigt die Temperatur in Milligrad Celsius an. Beispielsweise entspricht der Wert 55000
55 Grad Celsius.
Um das i7z-Tool zu installieren, können Sie den folgenden Befehl verwenden:
sudo apt-get install i7z # Debian/Ubuntu
sudo yum install i7z # Fedora/CentOS
Nach der Installation können Sie das Tool mit dem folgenden Befehl ausführen:
sudo i7z
Dieser Befehl zeigt die CPU-Temperatur, die Taktrate und den Stromverbrauch in Echtzeit an. Dieses Tool bietet detailliertere Informationen für Intel-Prozessoren.
Warum sind CPU-Informationen wichtig?
CPU-Informationen sind aus verschiedenen Gründen für Systemadministratoren, Softwareentwickler und Endbenutzer wichtig.
- Leistungsanalyse: CPU-Informationen können verwendet werden, um die Leistung des Systems zu analysieren und Engpässe zu identifizieren. Wenn beispielsweise die CPU-Geschwindigkeit niedrig ist oder die Anzahl der Kerne unzureichend ist, kann die Leistung des Systems beeinträchtigt werden.
- Kompatibilitätsprüfung: Vor der Installation von Software oder Hardware ist es wichtig zu prüfen, ob die CPU kompatibel ist. Beispielsweise kann bestimmte Software eine bestimmte CPU-Architektur oder einen bestimmten Befehlssatz erfordern.
- Fehlerbehebung: CPU-Informationen können verwendet werden, um Probleme im System zu beheben. Wenn beispielsweise Überhitzungsprobleme auftreten, ist es wichtig, die CPU-Temperatur zu überwachen und die Lüftergeschwindigkeit zu überprüfen.
- Systemoptimierung: CPU-Informationen können verwendet werden, um die Leistung des Systems zu optimieren. Wenn beispielsweise die CPU-Geschwindigkeit dynamisch angepasst werden kann, ist es möglich, die Taktrate zu senken, um den Stromverbrauch zu reduzieren.
- Identifizierung von Sicherheitslücken: Gelegentlich treten Sicherheitslücken in Bezug auf die CPU-Architektur und den Mikrcode auf. Das Wissen über das CPU-Modell kann Ihnen helfen festzustellen, ob Sie von solchen Lücken betroffen sind.
Betrachten wir als Beispiel aus dem realen Leben einen Webserver. Ein Webserver muss gleichzeitig eine große Anzahl von Benutzern bedienen. Daher ist es wichtig, dass die CPU über eine ausreichende Anzahl von Kernen und eine hohe Taktrate verfügt. Andernfalls kann die Serverleistung beeinträchtigt werden und die Benutzererfahrung negativ beeinflusst werden. Der Systemadministrator kann die CPU-Informationen verwenden, um die Leistung des Servers zu analysieren und bei Bedarf auf eine leistungsstärkere CPU umzusteigen.
Nehmen wir als weiteres Beispiel einen Spieleentwickler. Der Spieleentwickler muss sicherstellen, dass sein Spiel auf Systemen mit unterschiedlichen Prozessorarchitekturen reibungslos läuft. Daher kann er die Prozessorinformationen verwenden, um sein Spiel für verschiedene Prozessoren zu optimieren und Kompatibilitätsprobleme zu lösen.
Die folgende Tabelle fasst zusammen, wie Prozessorinformationen in verschiedenen Szenarien verwendet werden können:
Szenario | Verwendung von Prozessorinformationen | Zweck |
---|---|---|
Webserver-Leistung | Anzahl der Kerne, Taktrate, Cache-Größe | Stabile Leistung unter hoher Last gewährleisten |
Spieleentwicklung | Architektur, Befehlssätze, Funktionen | Kompatibilität und optimierte Leistung auf verschiedenen Systemen |
System-Fehlerbehebung | Temperatur, Taktrate, Stromverbrauch | Probleme wie Überhitzung und Leistungsabfall diagnostizieren |
Software-Installation | Architektur, Befehlssätze, Kompatibilität | Überprüfen, ob die Software mit dem System kompatibel ist |
Wie finde ich das Prozessormodell und die Herstellerinformationen heraus?
Das Ermitteln des Prozessormodells und der Herstellerinformationen ist wichtig, um genau zu verstehen, welcher Prozessor sich in Ihrem System befindet. Diese Informationen können erforderlich sein, um Kompatibilitätsprobleme zu beheben, Treiber zu aktualisieren oder Hardware-Upgrades durchzuführen.
- /proc/cpuinfo: Diese Datei enthält das Prozessormodell und die Herstellerinformationen. Die Zeile "model name" zeigt das Prozessormodell an, die Zeile "vendor_id" den Hersteller.
- lscpu: Dieser Befehl zeigt das Prozessormodell und die Herstellerinformationen in zusammengefasster Form an. Die Zeile "Model name" zeigt das Prozessormodell an, die Zeile "Vendor ID" den Hersteller.
- dmidecode: Dieser Befehl gibt allgemeine Informationen über die Systemhardware aus und enthält auch das Prozessormodell und die Herstellerinformationen.
Sie können die folgenden Befehle verwenden, um das Prozessormodell und die Herstellerinformationen aus der Datei /proc/cpuinfo
zu ermitteln:
cat /proc/cpuinfo | grep "model name"
cat /proc/cpuinfo | grep "vendor_id"
Diese Befehle zeigen das Prozessormodell und die Hersteller-ID an. Zum Beispiel:
model name : Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
vendor_id : GenuineIntel
Sie können den folgenden Befehl verwenden, um das Prozessormodell und die Herstellerinformationen mit dem Befehl lscpu
zu ermitteln:
lscpu | grep "Model name"
lscpu | grep "Vendor ID"
Diese Befehle zeigen das Prozessormodell und die Hersteller-ID an. Zum Beispiel:
Model name: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
Vendor ID: GenuineIntel
Sie können den folgenden Befehl verwenden, um das Prozessormodell und die Herstellerinformationen mit dem Befehl dmidecode
zu ermitteln:
sudo dmidecode -t processor
Dieser Befehl liefert detaillierte Informationen über den Prozessor. Die Zeile "Version" zeigt das Prozessormodell und die Zeile "Manufacturer" den Hersteller an. Dieser Befehl erfordert Root-Rechte.
Wichtiger Hinweis: Die Hersteller-ID ist normalerweise "GenuineIntel" oder "AuthenticAMD". Diese IDs zeigen an, dass der Prozessor von Intel oder AMD hergestellt wurde.