Harting Development

CPU-Informationen unter Linux: Erfahren Sie alles über die Leistung Ihres Systems

Lukas Fuchs vor 7 Monaten in  Performance-Optimierung 3 Minuten Lesedauer

Befehle zum Abrufen von CPU-Informationen

Als Linux-Benutzer:in hast du eine Vielzahl von Befehlen zur Hand, um detaillierte Informationen über die CPU deines Systems abzurufen. Diese Befehle ermöglichen es dir, die Spezifikationen, die Leistung und andere wichtige Aspekte deiner CPU zu verstehen.

### Befehl `lscpu`

Der Befehl lscpu ist ein umfassendes Tool zur Anzeige detaillierter Informationen über deine CPU. Er liefert Informationen wie:

  • CPU-Modellnummer
  • Anzahl der Kerne und Threads
  • Taktfrequenz
  • Cache-Größe
  • Befehlsstätze

### Befehl `uname`

Der Befehl uname liefert grundlegende Informationen über das System, einschließlich der CPU-Architektur. Er zeigt die folgenden Details an:

  • Betriebssystemname
  • Kernelversion
  • Hardwareplattform
  • Prozessorarchitektur (z. B. x86_64)

### Befehl `top`

Der Befehl top ist ein interaktives Tool zur Überwachung des laufenden Systems, das auch Informationen zur CPU-Auslastung bereitstellt. Er zeigt die folgenden Metriken an:

  • Gesamtauslastung der CPU in Prozent
  • Auslastung pro Kern
  • Benutzer- und Systemnutzung
  • Auslastung durch Prozesse und Threads

### Befehl `htop`

htop ist eine erweiterte Version von top mit einer grafischen Benutzeroberfläche (GUI). Es bietet eine detailliertere Ansicht der CPU-Auslastung, einschließlich:

  • CPU-Temperatur
  • Auslastung pro Kern in einem Balkendiagramm
  • Historie der CPU-Auslastung

Systeminformationen mit uname

uname ist ein praktisches Kommandozeilentool, das dir schnell grundlegende Systeminformationen liefert, darunter Informationen über deine CPU.

h3: Syntax und Optionen

Die Syntax von uname ist wie folgt:

uname [OPTION]...

Zu den wichtigsten Optionen gehören:

  • -a: Zeigt alle Systeminformationen an.
  • -s: Zeigt den Kernel-Namen an.
  • -n: Zeigt den Hostnamen an.
  • -r: Zeigt die Kernel-Release-Version an.
  • -v: Zeigt die Kernel-Versionsnummer an.
  • -m: Zeigt die CPU-Architektur an.

h3: Ausgabe interpretieren

Die Ausgabe von uname ähnelt der folgenden:

Linux my-hostname 5.15.0-52-generic #56~20.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 18 17:43:58 UTC 2022 x86_64
  • Kernel-Name: Linux
  • Hostname: my-hostname
  • Kernel-Release-Version: 5.15.0-52-generic
  • Kernel-Versionsnummer: #56~20.04.1-Ubuntu
  • CPU-Architektur: x86_64

Mit uname kannst du schnell die grundlegenden Systeminformationen und die CPU-Architektur deines Systems ermitteln. Weitere detaillierte Informationen zur CPU findest du in den anderen Abschnitten dieses Artikels.

Überwachung der CPU-Auslastung mit top und htop

Die Überwachung der CPU-Auslastung ist entscheidend, um die Systemleistung einzuschätzen und Engpässe zu identifizieren. Unter Linux stehen dir zwei leistungsstarke Tools zur Verfügung: top und htop.

top

top ist ein textbasiertes Tool, das eine Echtzeitübersicht über die CPU-Auslastung sowie andere Systemressourcen bietet. So verwendest du es:

$ top
  • Die erste Zeile zeigt die Gesamt-CPU-Auslastung, aufgeteilt in Benutzer-, System- und Leerlaufzeit.
  • Die Spalte "PID" listet die Prozess-IDs auf.
  • Die Spalte "%CPU" zeigt den prozentualen Anteil der CPU-Zeit, die jeder Prozess beansprucht.
  • Die Spalten "MEM" und "VIRT" zeigen den Arbeitsspeicher- und virtuellen Speicherverbrauch an.

htop

htop ist ein interaktives, grafikbasiertes Tool, das eine erweiterte Ansicht der CPU-Auslastung bietet. So verwendest du es:

$ htop
  • htop zeigt eine grafische Darstellung der CPU-Auslastung in Echtzeit.
  • Die Balken in der oberen Hälfte des Bildschirms repräsentieren einzelne CPU-Kerne.
  • Die untere Hälfte zeigt eine Liste laufender Prozesse, sortiert nach CPU-Auslastung.
  • Du kannst Prozesse mit den Pfeiltasten auswählen und die Taste "F6" drücken, um weitere Informationen anzuzeigen.

Sowohl top als auch htop bieten umfangreiche Optionen zur Anpassung und Filterung. Auf diese Weise kannst du die überwachten Informationen anpassen und detailliertere Einblicke erhalten.

CPU-Temperatur und Stromverbrauch mit sensors

Die Überwachung der CPU-Temperatur und des Stromverbrauchs ist unerlässlich, um die Gesundheit und Leistung deines Systems sicherzustellen. Linux bietet mit dem Tool sensors einen einfachen Weg, diese Werte abzurufen.

Installation

Wenn sensors nicht vorinstalliert ist, kannst du es in den meisten Linux-Distributionen mit dem folgenden Befehl installieren:

sudo apt install lm-sensors

Sensordaten abrufen

Um die Sensordaten abzufragen, führe einfach sensors in einem Terminal aus. Du erhältst eine Liste mit Temperatur- und Stromverbrauchsmesswerten für verschiedene Sensoren, die in deinem System vorhanden sind.

Temperaturüberwachung

Die Temperatur deiner CPU wird in der Regel in Grad Celsius angezeigt. Achte auf ungewöhnlich hohe Temperaturen, die auf eine Überhitzung hinweisen können. In diesem Fall solltest du die Kühlung deines Systems überprüfen.

Stromverbrauchsmessung

Der Stromverbrauch deiner CPU wird normalerweise in Watt gemessen. Dies kann dir helfen, die Energieeffizienz deines Systems zu beurteilen und Bereiche mit hohem Stromverbrauch zu identifizieren.

Zusätzliche Informationen

sensors kann auch Informationen zu anderen Sensoren wie Lüftergeschwindigkeiten und Festplattentemperaturen bereitstellen. Diese Daten können hilfreich sein, um die allgemeine Hardwaregesundheit und -leistung zu überwachen.

Beachte, dass die Verfügbarkeit und Genauigkeit der Sensordaten von der spezifischen Hardware deines Systems abhängt. Wenn du keine Sensordaten für deine CPU siehst, kann dies entweder daran liegen, dass sie nicht vorhanden sind oder dass sensors sie nicht richtig erkennen kann.

Identifizierung der CPU-Architektur und -Funktionen

Die CPU-Architektur ist ein entscheidender Faktor für die Leistung und Kompatibilität deines Systems. Sie bestimmt den Befehlssatz, den die CPU ausführen kann, sowie die möglichen Optimierungen und Funktionen. Um die CPU-Architektur zu ermitteln, führe den Befehl lscpu aus.

CPU-Architektur

Im Abschnitt "Architecture:" der Ausgabe von lscpu wird die Architektur der CPU angezeigt, beispielsweise "x86_64" für eine 64-Bit-x86-Architektur oder "ARM" für eine ARM-Architektur. Dies gibt dir Aufschluss darüber, welche Betriebssysteme und Anwendungen mit deinem System kompatibel sind.

CPU-Funktionen

Neben der Architektur listet lscpu auch die verfügbaren CPU-Funktionen auf, z. B. Virtualisierungserweiterungen, AVX-Befehlssätze und Turbo-Boost-Technologie. Diese Funktionen können die Leistung deines Systems je nach den von dir ausgeführten Aufgaben erheblich verbessern.

CPU-Features identifizieren mit CPUID

Für eine detailliertere Auflistung der CPU-Funktionen kannst du das cpuid-Programm verwenden. Es erfasst eine Vielzahl von Informationen über die Architektur, die Cache-Struktur und die unterstützten Anweisungen deiner CPU.

CPU-Familie und Modell

Die CPU-Familie und das Modell geben Aufschluss darüber, welche Generation und welchen Typ von Prozessor du verwendest. Diese Informationen findest du in der Ausgabe von lscpu im Abschnitt "Model name:" oder im Abschnitt "CPU:" der Ausgabe von uname -a.

Virtuelle CPUs und Hyperthreading

Moderne Prozessoren verfügen häufig über Technologien wie virtuelle CPUs (vCPUs) und Hyperthreading, um die Leistung und Effizienz zu steigern. Hier ist ein Überblick über diese Technologien:

vCPUs

Eine virtuelle CPU ist eine logische CPU, die von einem physischen CPU-Kern emuliert wird. Wenn ein physischer Kern zwei vCPUs unterstützt, kann das Betriebssystem diese als zwei separate CPUs erkennen und ihnen Aufgaben zuweisen. Dies ermöglicht es dir, mehr Prozesse und Threads gleichzeitig auszuführen, was zu einer verbesserten Gesamtleistung führen kann.

Hyperthreading

Hyperthreading ist eine Intel-Technologie, die es einem einzelnen physischen CPU-Kern ermöglicht, sich wie zwei separate CPUs zu verhalten. Dies geschieht durch die Nutzung gemeinsamer Ressourcen wie Cache und Ausführungseinheiten. Hyperthreading kann die Leistung von Anwendungen verbessern, die mehrere Threads verwenden, da es ihnen ermöglicht, effizienter auf die CPU-Ressourcen zuzugreifen.

Vor- und Nachteile

Vorteile:

  • Erhöhte Leistung: Virtuelle CPUs und Hyperthreading können die Leistung von Anwendungen verbessern, die mehrere Threads verwenden.
  • Bessere Ressourcenauslastung: Sie ermöglichen es dir, mehr Prozesse und Threads gleichzeitig auszuführen, wodurch die CPU-Auslastung besser genutzt werden kann.
  • Reduzierte Latenz: Hyperthreading kann die Latenz für bestimmte Arten von Aufgaben wie Webserveranforderungen verringern.

Nachteile:

  • Höherer Stromverbrauch: Virtuelle CPUs und Hyperthreading können den Stromverbrauch des Systems erhöhen.
  • Nicht alle Anwendungen profitieren: Nicht alle Anwendungen profitieren von virtuellen CPUs oder Hyperthreading. Beispielsweise profitieren Single-Thread-Anwendungen nicht wesentlich von diesen Technologien.

Überprüfen von vCPUs und Hyperthreading

Verwende den Befehl lscpu, um Informationen über die vCPUs und Hyperthreading-Funktionen deines Systems anzuzeigen:

lscpu | grep -E 'CPU\(s\):|Core\(s\ per socket:|'

Die Ausgabe zeigt dir die Anzahl der physischen CPUs, Kerne pro Socket und logischen CPUs (vCPUs) an. Wenn die Anzahl der logischen CPUs größer ist als die Anzahl der Kerne, verfügt dein System über Hyperthreading.

Leistungsmessungen mit perf und sysbench

Du möchtest die Leistung deines Systems genau messen? Hier kommen die leistungsstarken Tools perf und sysbench ins Spiel.

Leistungsprofiling mit perf

Perf ist ein umfassendes Leistungsprofiling-Tool, das detaillierte Einblicke in die CPU-Leistung bietet. Um perf zu verwenden, führe den folgenden Befehl aus:

perf stat -a

Dieser Befehl zeichnet eine Vielzahl von Leistungsereignissen auf, darunter:

  • Zyklen: Anzahl der ausgeführten CPU-Zyklen
  • Anweisungen: Anzahl der ausgeführten CPU-Anweisungen
  • Cache-Treffer: Anzahl der Treffer im CPU-Cache
  • Cache-Verfehlungen: Anzahl der Verfehlungen im CPU-Cache

Führe einen Benchmark oder eine Aufgabe aus, während perf läuft. Nach Abschluss wird ein Bericht mit Leistungsmetriken generiert, der dir hilft, Engpässe zu identifizieren und die Leistung zu optimieren.

Systemleistungsanalyse mit sysbench

Sysbench ist ein vielseitiges Benchmarking-Tool zum Testen verschiedener Systemkomponenten, einschließlich der CPU.

Um die CPU-Leistung mit sysbench zu testen, führe den folgenden Befehl aus:

sysbench cpu --cpu-max-prime=20000 run

Dieser Befehl führt einen Primzahltest durch und misst die Zeit, die benötigt wird, um Primzahlen bis zu 20.000 zu berechnen.

Sysbench bietet verschiedene Optionen zum Konfigurieren des Tests, z. B.:

  • Anzahl der Threads: Festlegen der Anzahl der zu verwendenden CPU-Threads
  • Testdauer: Angabe der Testdauer
  • Lasttyp: Auswahl des Lasttyps (z. B. prim, cpu, memory)

Die Ergebnisse von sysbench liefern wertvolle Informationen über die CPU-Leistung, die bei der Identifizierung von Systemverbesserungen hilfreich sein können.

Folge uns

Neue Posts

Beliebte Posts