WMP Sites

Linux Top-Befehl: Einen Überblick über Systemressourcennutzung erhalten

Lukas Fuchs vor 2 Jahren DevOps & Deployment 3 Min. Lesezeit

Was ist der 'top'-Befehl?

Der 'top'-Befehl ist ein leistungsstarkes Befehlszeilentool, das dir einen Echtzeit-Überblick über die Ressourcennutzung deines Linux-Systems gibt. Er bietet dir detaillierte Informationen über laufende Prozesse, CPU- und Speicherauslastung, Auslastung des virtuellen Speichers, Systemlast und mehr.

Wofür wird der 'top'-Befehl verwendet?

Der 'top'-Befehl ist ein unverzichtbares Tool für System- und Anwendungsadministratoren sowie für alle, die die Leistung und Integrität ihrer Linux-Systeme überwachen möchten. Er ermöglicht es dir, Folgendes zu tun:

  • Identifizierung von Prozessen, die Systemressourcen übermäßig beanspruchen
  • Überwachung der Gesamtsystemlast und Ermittlung von Leistungsproblemen
  • Problembehandlung bei Systemverzögerungen und Abstürzen
  • Verfolgung des Fortschritts von Hintergrundprozessen und -aufgaben
  • Optimierung der Systemleistung durch Anpassung von Ressourcenzuweisungen

Wie rufe ich den 'top'-Befehl auf?

Der 'top'-Befehl ist in den meisten Linux-Distributionen vorinstalliert. Um ihn aufzurufen, öffne ein Terminalfenster und gebe Folgendes ein:

top

Parameter und Optionen

Du kannst den 'top'-Befehl mit verschiedenen Parametern und Optionen aufrufen, um sein Verhalten anzupassen. Hier sind einige nützliche Optionen:

  • -d <Sekunden>: Legt das Update-Intervall in Sekunden fest (Standard: 3 Sekunden)
  • -n <Anzahl>: Begrenzt die Anzahl der angezeigten Prozesse (Standard: alle Prozesse)
  • -p <PID>: Überwacht einen bestimmten Prozess anhand seiner Prozess-ID (PID)
  • -u <Benutzername>: Filtert die Ausgabe nach einem bestimmten Benutzer
  • -H oder --header: Zeigt zusätzliche Headerinformationen in der Ausgabe an

Ausführen im Hintergrund

Du kannst den 'top'-Befehl auch im Hintergrund ausführen, um die Systemressourcennutzung zu überwachen, während du andere Aufgaben erledigst. Verwende dazu die Option -f oder --follow:

top -f

Dadurch wird die Echtzeitüberwachung im Hintergrund gestartet. Um die Überwachung zu beenden, drücke q.

So interpretierst du die Ausgabe des 'top'-Befehls

Sobald du den 'top'-Befehl ausgegeben hast, wird eine interaktive Anzeige angezeigt, die in Echtzeit aktualisiert wird. Die Ausgabe kann zunächst überwältigend erscheinen, aber wenn du dich mit ihr vertraut machst, wird sie zu einem wertvollen Werkzeug für das Systemressourcen-Monitoring.

Die erste Zeile: Überblick über die Systemressourcen

Die erste Zeile der 'top'-Ausgabe bietet einen schnellen Überblick über den Gesamtzustand deines Systems:

  • Tasks: Zeigt die Gesamtzahl der momentan laufenden Prozesse an, aufgeteilt in drei Kategorien: "running", "sleeping" und "stopped".
  • Load average: Diese drei Zahlen geben die durchschnittliche CPU-Auslastung über die letzten 1, 5 und 15 Minuten an. Ideal sind Werte unter 1,0.
  • Uptime: Zeigt die Gesamtzeit an, seit der das System hochgefahren ist.
  • Users: Zeigt die Anzahl der angemeldeten Benutzer an.

Die Kopfzeile: Spaltenüberschriften

Unter der ersten Zeile befinden sich die Spaltenüberschriften, die die verschiedenen Metriken angeben, die der 'top'-Befehl verfolgt:

  • PID: Die Prozess-ID (PID) identifiziert jeden Prozess eindeutig.
  • USER: Der Benutzer, der den Prozess gestartet hat.
  • PR: Die Priorität des Prozesses (niedrigere Zahlen bedeuten höhere Priorität).
  • NI: Der Nice-Wert des Prozesses (ähnlich wie die Priorität, aber von Benutzern einstellbar).
  • VIRT: Der vom Prozess verwendete virtuelle Speicher (einschließlich Code, Daten und Stack).
  • RES: Der vom Prozess verwendete residente Speicher (der Teil des virtuellen Speichers, der sich im physischen Speicher befindet).
  • SHR: Der vom Prozess gemeinsam genutzte Speicher (Speicher, der von mehreren Prozessen gemeinsam genutzt wird).
  • S: Der aktuelle Status des Prozesses ("S" für Schlaf, "R" für Ausführbar, "Z" für Zombie usw.).
  • %CPU: Der Prozentsatz der CPU-Zeit, die der Prozess in den letzten letzten 100 Millisekunden verwendet hat.
  • %MEM: Der Prozentsatz des gesamten physischen Speichers, der vom Prozess verwendet wird.
  • TIME+: Die Gesamtzeit, die der Prozess seit seinem Start verwendet hat.
  • COMMAND: Der Name des ausführbaren Prozesses.

Die Prozessliste: Metrikwerte

Unter den Spaltenüberschriften befindet sich eine Liste aller laufenden Prozesse, sortiert nach der standardmäßigen Metrik (normalerweise "%CPU"). Du kannst die Sortierreihenfolge ändern, indem du die Tastaturkürzel in der rechten unteren Ecke der Ausgabe verwendest (z. B. "P" zum Sortieren nach "%CPU" oder "M" zum Sortieren nach "%MEM").

Durch Drücken von "h" wird eine Hilfeseite mit allen verfügbaren Tastaturkürzeln angezeigt.

Zusammenfassung

Die Ausgabe des 'top'-Befehls bietet dir einen umfassenden Überblick über die Ressourcennutzung deines Systems. Indem du die erste Zeile, die Kopfzeile und die Prozessliste interpretierst, kannst du Systemprobleme schnell identifizieren, Prozesse überwachen und die Gesamtleistung deines Systems optimieren.

Wichtige Spalten der 'top'-Ausgabe

Wenn du den 'top'-Befehl aufrufst, wirst du mit einer Tabelle konfrontiert, die verschiedene Metriken zur Systemressourcennutzung anzeigt. Die Interpretation dieser Ausgabe kann anfangs etwas überwältigend sein, aber wenn du die Bedeutung der einzelnen Spalten verstehst, kannst du wertvolle Erkenntnisse über die Leistung deines Systems gewinnen.

CPU-Statistiken

Die Spalten %CPU, %usr, %sys, %iowait und %idle geben Aufschluss über die CPU-Auslastung.

  • %CPU: Der Gesamtprozentsatz der CPU-Zeit, die für die Ausführung von Benutzer- und Systemprozessen aufgewendet wird.
  • %usr: Der Prozentsatz der CPU-Zeit, die für die Ausführung von Anwendungscode aufgewendet wird.
  • %sys: Der Prozentsatz der CPU-Zeit, die für die Ausführung von Kernel-Code aufgewendet wird.
  • %iowait: Der Prozentsatz der CPU-Zeit, in der der Prozessor auf E/A-Vorgänge wartet.
  • %idle: Der Prozentsatz der CPU-Zeit, in der der Prozessor keine Arbeit verrichtet.

Arbeitsspeichernutzung

Die Spalten KiB Mem, KiB Swap und %Mem geben Auskunft über die Arbeitsspeichernutzung.

  • KiB Mem: Die Gesamtmenge an verwendetem Arbeitsspeicher in Kilobyte.
  • KiB Swap: Die Gesamtmenge an verwendetem Auslagerungsspeicher in Kilobyte.
  • %Mem: Der Prozentsatz des Gesamtarbeitsspeichers, der verwendet wird.

Auslastung von Prozessen

Die Spalten PID, USER, PR, NI, VIRT, RES, SHR und %CPU liefern Informationen über einzelne Prozesse.

  • PID: Die Prozess-ID, die den Prozess eindeutig identifiziert.
  • USER: Der Benutzer, der den Prozess gestartet hat.
  • PR: Die Priorität des Prozesses. Ein niedrigerer Wert weist auf eine höhere Priorität hin.
  • NI: Die nette Priorität des Prozesses, die angegeben, wie viel CPU-Zeit der Prozess im Vergleich zu anderen Prozessen erhalten soll.
  • VIRT: Die virtuelle Speichergröße des Prozesses, einschließlich Code, Daten und Stack.
  • RES: Die residente Speichergröße des Prozesses, die den im Arbeitsspeicher gehaltenen Teil des virtuellen Speichers darstellt.
  • SHR: Die gemeinsam genutzte Speichergröße des Prozesses, die den Teil des virtuellen Speichers darstellt, der mit anderen Prozessen geteilt wird.
  • %CPU: Der Prozentsatz der CPU-Zeit, die der Prozess verbraucht.

Filterung und Sortierung der 'top'-Ausgabe

Die rohe Ausgabe von 'top' kann überwältigend sein, insbesondere auf Systemen mit vielen Prozessen. Um die Ausgabe zu bereinigen und dich auf bestimmte Informationen zu konzentrieren, kannst du Filter und Sortierfunktionen verwenden.

Filterung

Nach Prozessen: Um nach einem bestimmten Prozessnamen zu filtern, verwende die Option '-p'. Beispiel:

top -p bash

Nach Benutzern: Filtere nach Prozessen, die einem bestimmten Benutzer gehören, mit der Option '-u'. Beispiel:

top -u username

Nach Kommandozeilenargumenten: Filtere nach Prozessen, die bestimmte Kommandozeilenargumente enthalten, mit der Option '-C'. Beispiel:

top -C "grep foo"

Sortierung

Du kannst die Ausgabe auch nach verschiedenen Spalten sortieren, um die Prozesse basierend auf ihrer Ressourcennutzung zu klassifizieren. Verwende dazu die Option '-o'. Beispiel:

Sortierung nach CPU-Auslastung:

top -o %CPU

Sortierung nach Speichernutzung:

top -o %MEM

Sortierung nach virtuellem Speicher:

top -o VIRT

Mehrfach sortieren: Du kannst mehrere Sortieroptionen kombinieren. Beispiel:

top -o %CPU,%MEM

Dies sortiert die Prozesse zuerst nach CPU-Auslastung und dann nach Speichernutzung.

Kombinierte Nutzung von Filtern und Sortierung

Kombinieren von Filtern und Sortierfunktionen bietet dir eine leistungsstarke Möglichkeit, die Ausgabe von 'top' zu optimieren. Beispiel:

top -u username -o %CPU,%MEM

Dies filtert Prozesse, die einem bestimmten Benutzer gehören, und sortiert sie nach CPU- und Speichernutzung.

Häufige Verwendungsfälle des 'top'-Befehls

Der 'top'-Befehl bietet eine Fülle von Informationen, die für verschiedene Aufgaben zur Systemüberwachung genutzt werden können. Einige häufige Verwendungsfälle sind:

Überwachung der CPU-Auslastung

Durch die Überwachung der Spalten "%CPU" und "COMMAND" kannst du herausfinden, welche Prozesse die meiste CPU-Zeit beanspruchen. Dies kann dir helfen, Ressourcenfresser zu identifizieren und Engpässe zu beseitigen.

Verwaltung des Arbeitsspeichers

Die Spalte "MEM %" zeigt dir den prozentualen Anteil des Arbeitsspeichers, der von jedem Prozess genutzt wird. Dies hilft dir, Speicherlecks zu erkennen und sicherzustellen, dass dein System über genügend Arbeitsspeicher verfügt.

Überwachung der Festplattenaktivität

Die Spalten "WAIT" und "DISK" geben Auskunft über Festplattenaktivitäten, wie z. B. Seitenfehler und E/A-Wartezeiten. Dies kann dir helfen, Festplattenengpässe zu identifizieren und Leistungsprobleme im Zusammenhang mit dem Speichersystem zu beheben.

Identifizierung von Bottlenecks

Durch die Analyse der Spalte "%CPU", "MEM %" und "DISK" kannst du System-Bottlenecks identifizieren. Beispielsweise kann eine hohe "%CPU" auf eine CPU-intensive Aufgabe hinweisen, während eine hohe "MEM %" auf einen Speicherengpass hindeuten kann.

Problembehandlung bei Leistungsproblemen

Der 'top'-Befehl ist ein wertvolles Werkzeug zur Problembehandlung bei Leistungsproblemen. Indem du die Systemressourcennutzung überwachst, kannst du ungewöhnliche Aktivitäten identifizieren, die die Systemleistung beeinträchtigen könnten.

Überwachung von Systemressourcen im Zeitverlauf

Verfolgen von Trends und Anomalien

Mithilfe von Parametern des top-Befehls kannst du Trends und Anomalien in der Systemressourcennutzung überwachen. Mit der Option -s kannst du festlegen, wie oft der Befehl in Sekunden aktualisiert werden soll. Dadurch kannst du beobachten, wie sich die Ressourcennutzung im Laufe der Zeit verändert.

Identifizierung von Spitzenlastzeiten

Indem du top über einen längeren Zeitraum hinweg mit der Option -s ausführst, kannst du Spitzenlastzeiten identifizieren, in denen die Systemressourcen stark beansprucht werden. Dies kann dir helfen, Engpässe zu ermitteln und Maßnahmen zu ergreifen, um sie zu beheben.

Analysieren von Ressourcentrends

Die regelmäßige Ausführung von top mit der Option -d (Darstellung im dynamischen Modus) ermöglicht es dir, Trends in der Ressourcennutzung darzustellen. Dies kann dir helfen, Muster zu erkennen, die auf zugrunde liegende Probleme oder Optimierungsmöglichkeiten hindeuten.

Verfolgung von historischen Daten

Die Verwendung von Tools wie sar (System Activity Reporter) oder vmstat zusammen mit top ermöglicht es dir, historische Daten zur Ressourcennutzung zu sammeln und zu analysieren. Dies kann dir helfen, langfristige Trends zu verstehen und fundierte Entscheidungen zur Systemverwaltung zu treffen.

Überwachung mehrerer Systeme

Mit der Option -m (Mehrere Systeme überwachen) kannst du top verwenden, um die Systemressourcen auf mehreren Systemen gleichzeitig zu überwachen. Dies ist nützlich für die Verwaltung großer oder verteilter Systeme, mit denen du schnell und einfach Spitzenlastzeiten und Ressourcenprobleme erkennen kannst.

Fehlerbehebung bei Leistungsproblemen

Der Befehl top ist ein wertvolles Werkzeug zur Fehlerbehebung bei Leistungsproblemen auf deinem Linux-System. Hier sind einige häufige Fragen und Themen, die dir helfen können, Probleme zu identifizieren und zu beheben:

Hohe CPU-Auslastung

  • Prüfe die Spalte %CPU: Diese Spalte zeigt die Prozentsatz der CPU-Zeit an, die von jedem Prozess genutzt wird. Prozesse mit einem hohen %CPU-Wert sind potenzielle Kandidaten für eine hohe CPU-Auslastung.
  • Suche nach Zombie-Prozessen: Zombie-Prozesse sind Prozesse, die beendet wurden, aber noch im Prozessverzeichnis des Systems vorhanden sind. Diese Prozesse können zu einer hohen CPU-Auslastung führen, da sie Ressourcen binden.
  • Überprüfe die Belastung von Kernel-Threads: Die Spalte "Threads" zeigt die Anzahl der Threads an, die für jeden Prozess ausgeführt werden. Hohe Werte für Kernel-Threads (z. B. Prozesse mit dem Namen "kworker") können auf Probleme mit dem Kernel hinweisen.

Hohe Speicherauslastung

  • Überprüfe die Spalte %MEM: Diese Spalte zeigt den Prozentsatz des physischen Speichers an, der von jedem Prozess genutzt wird. Prozesse mit einem hohen %MEM-Wert sind potenzielle Kandidaten für eine hohe Speicherauslastung.
  • Prüfe auf Speicherlecks: Speicherlecks treten auf, wenn Speicher von einem Prozess zugewiesen wird, aber nicht mehr freigegeben wird. Sie können zu einem allmählichen Anstieg der Speicherauslastung führen.
  • Überprüfe die Auslagerung: Die Spalte "SWAP" zeigt den Speicher an, der auf die Auslagerungspartition ausgelagert wurde. Eine hohe Auslagerungsrate kann auf einen Mangel an physischem Speicher hinweisen.

Hohe Netzwerk- oder Datenträgerauslastung

  • Überprüfe die Spalten %NIC und %DISK: Diese Spalten zeigen die Prozentsatz der Netzwerk- oder Datenträgerressourcen an, die von jedem Prozess genutzt werden. Prozesse mit einem hohen %NIC- oder %DISK-Wert sind potenzielle Kandidaten für Netzwerk- oder Datenträgerprobleme.
  • Suche nach Engpässen: Engpässe treten auf, wenn eine bestimmte Ressource (z. B. Netzwerkbandbreite oder Datenträger-E/A) nicht ausreicht, um die Anforderungen der Prozesse zu erfüllen. Überprüfe die Ausgabe von top auf Prozesse, die eine hohe Auslastung einer bestimmten Ressource aufweisen.
  • Verwende Analysewerkzeuge: Werkzeuge wie iostat, netstat und tcpdump können dir detailliertere Informationen über Netzwerk- und Datenträgerleistungsprobleme liefern.

Wenn du Leistungsprobleme mit deinem Linux-System identifiziert hast, kannst du geeignete Maßnahmen ergreifen, um sie zu beheben. Dies kann das Beenden fehlerhafter Prozesse, das Anpassen von Systemparametern oder das Hinzufügen zusätzlicher Ressourcen wie Arbeitsspeicher oder CPU-Kerne umfassen.

Weitere Beiträge

Folge uns

Neue Beiträge

Frontend

CSS Padding: Der Abstand zwischen Elementen verstehen und beherrschen

AUTOR • Jun 23, 2026
DevOps & Deployment

Fehlerbehebung: MIME-Typ text/html nicht ausführbar aufgrund aktivierter strikter MIME-Typ-Überprüfung

AUTOR • Jun 23, 2026
Frontend

HTML Text fett formatieren: So erstellen Sie auffällige Texte im Web

AUTOR • Jun 23, 2026
Frontend

Outlook HTML Signatur einfügen: Schritt-für-Schritt-Anleitung für Desktop, Web und Mobile

AUTOR • Jun 23, 2026
Frontend

Sicher und bequem einloggen: Gladbacher Bank Login ohne Umwege

AUTOR • Jun 23, 2026
Frontend

Anpassung der HTML Button Farbe: Ein Guide für Anfänger mit sofort umsetzbaren Tipps

AUTOR • Jun 23, 2026
Frontend

HTML in Text umwandeln: So machst du Inhalte sauber, lesbar und suchmaschinenfreundlich

AUTOR • Jun 23, 2026
DevOps & Deployment

Vergessenes Root Passwort Rettung für Administratoren: So kommst du schnell wieder rein

AUTOR • Jun 23, 2026
DevOps & Deployment

Unmounten von Linux Geräten: Schritt-für-Schritt Anleitung für sauberes Aushängen von Laufwerken

AUTOR • Jun 23, 2026
Datenbanken

Ubuntu ZFS: Ein umfassender Leitfaden zur Dateisystementwicklung für stabile, schnelle Systeme

AUTOR • Jun 23, 2026
DevOps & Deployment

Oracle Linux: ein leistungsstarkes und zuverlässiges Betriebssystem für die Cloud und darüber hinaus

AUTOR • Jun 23, 2026
DevOps & Deployment

Die zerstörerische Macht von rm -rf: Vorsicht vor dem Löschen von Daten

AUTOR • Jun 23, 2026
JavaScript

Node.js Versionsverwaltung mit nvm: Die Installation sauber aufsetzen und richtig nutzen

AUTOR • Jun 23, 2026
DevOps & Deployment

Linux Dateiverwaltung: Effizientes Öffnen und Zugreifen auf Dateien im Alltag

AUTOR • Jun 23, 2026
DevOps & Deployment

Linux Mailserver Aufbau, Vorteile und Einrichtung für Anfänger: So startest du sauber

AUTOR • Jun 23, 2026
DevOps & Deployment

Beste PDF Reader für Linux: Funktionen, Vergleiche und Auswahlhilfen

AUTOR • Jun 23, 2026
Frontend

HTML Blocksatz, Ausrichtung und Stile für Texte im Web: So setzt du Texte sauber und lesbar um

AUTOR • Jun 22, 2026
Frontend

Die ultimative Anleitung zur Gestaltung von CSS Headern für unvergessliche Websites

AUTOR • Jun 22, 2026
Frontend

Die Anatomie einer HTML-Kopfzeile: Aufbau, Inhalt und Design für mehr Wirkung

AUTOR • Jun 22, 2026
Frameworks & Libraries

Hugo: Das vielseitige Open-Source-Framework für statische Websites, das schnell, flexibel und SEO-stark ist

AUTOR • Jun 22, 2026

Beliebte Beiträge

Frontend

Ein Hoch auf 85 Jahre: Schöne Sprüche zum 85. Geburtstag

AUTOR • May 12, 2025
Backend

PHP Array in JSON umwandeln: Schritt-für-Schritt Anleitung

AUTOR • Apr 12, 2025
DevOps & Deployment

VMware Workstation: Kostenloser Download und Anleitung zur Installation

AUTOR • May 06, 2024
API & Webservices

SCP-Befehl: Ein Beispiel für eine sichere Datenübertragung

AUTOR • May 06, 2024
API & Webservices

WireGuard für Windows: Ein modernes VPN-Protokoll für einfaches und sicheres VPN-Einrichten

AUTOR • May 06, 2024
DevOps & Deployment

Linux Festplattenbelegung: Überwachung und Optimierung deines Speicherplatzes

AUTOR • May 06, 2024
Datenbanken

MySQL unter Linux: Installation, Konfiguration und Optimierung

AUTOR • May 06, 2024
DevOps & Deployment

Die Macht der Textbearbeitung im Linux-Terminal

AUTOR • May 06, 2024
DevOps & Deployment

Verschieben von Verzeichnissen in Linux: Befehle und Beispiele

AUTOR • May 06, 2024
DevOps & Deployment

systemctl: Der Befehl zum Verwalten von Systemd-Diensten

AUTOR • May 06, 2024
Frontend

Alles, was Sie über die Stable Diffusion Web-Benutzeroberfläche wissen müssen

AUTOR • May 06, 2024
DevOps & Deployment

Linux Top-Befehl: Einen Überblick über Systemressourcennutzung erhalten

AUTOR • May 06, 2024
Frontend

Das HTML-Element „sub“: Alles, was Sie wissen müssen

AUTOR • Apr 24, 2024
Frontend

HTML-Schaltflächenfarbe anpassen: Schritt-für-Schritt-Anleitung

AUTOR • Apr 24, 2024
Frontend

HTML-Versionen im Überblick: Aktuelle Version verstehen und nutzen

AUTOR • Apr 24, 2024
Frontend

Ramstein Yard Sales: Fundgrube für Schnäppchenjäger

AUTOR • Apr 24, 2024
Frontend

HTML in GIF umwandeln: So geht's einfach und schnell

AUTOR • Apr 24, 2024
Frontend

Außergewöhnliche Listen erstellen mit HTML-Aufzählungszeichen

AUTOR • Apr 24, 2024
Frontend

HTML-Bild mit Link: Schritt-für-Schritt-Anleitung zum Verlinken von Bildern im Web

AUTOR • Apr 24, 2024
Frontend

Meta Viewport: Optimieren Sie die mobile Web-Erfahrung

AUTOR • Apr 24, 2024