Lastüberwachung ist eine der kritischsten Aufgaben, besonders wenn Sie mit Servern arbeiten. Sie erhalten nicht nur eine Vorstellung davon, wie die Ressourcen Ihres Systems genutzt werden, sondern Sie können auch leistungsbezogene Probleme diagnostizieren. In diesem Artikel werden wir diskutieren, wie Lastüberwachung in Linux mit dem Atop-Tool durchgeführt wird.

Hinweis : Alle im Artikel verwendeten Beispiele werden auf Ubuntu 14.04 getestet.

Oben auf

Das Befehlszeilen-Tool atop ist ein interaktiver Monitor, der die Auslastung eines Linux-Systems anzeigt. Es zeigt, wie die Hardware-Ressourcen Ihres Systems, einschließlich CPU, Arbeitsspeicher, Festplatte und Netzwerk, belegt sind, alles aus Sicht der Leistung. Nicht nur das, sondern es zeigt auch, welche Prozesse für die angezeigte Last verantwortlich sind.

Hinweis : Das Laden der Festplatte wird angezeigt, wenn pro Prozess "Storage Accounting" im Kernel aktiv ist oder wenn der Kernel-Patch "cnt" installiert wurde. In ähnlicher Weise wird die Netzwerklast nur pro Prozess angezeigt, wenn der Kernel-Patch "cnt" installiert wurde.

Herunterladen und installieren

Benutzer von Debian-basierten Systemen (wie Mint und Ubuntu) können das Tool mit dem folgenden Befehl herunterladen und installieren:

 sudo apt-get installieren auf 

Benutzer anderer Linux-Distributionen können ihre jeweiligen Paketverwaltungstools verwenden. Zum Beispiel, yum im Falle von Red Hat. Sie können das Tool auch von seiner offiziellen Website herunterladen.

Über Ausgabe

Nach der Installation können Sie das Tool ausführen, indem Sie den folgenden Befehl über die Befehlszeile ausführen:

 Sudo oben 

Hier ist die Beispielausgabe:

Wie Sie sehen können, sind das viele Informationen, die grob in zwei Teile unterteilt sind: System- und Prozessebene. Ersteres besteht aus folgenden Zeilen:

PRC : Diese Zeile enthält die Gesamt-CPU-Zeit, die im Systemmodus ('sys') und im Benutzermodus ('Benutzer') verbraucht wurde, die Gesamtzahl der zu diesem Zeitpunkt vorhandenen Prozesse ('#proc'), die Gesamtzahl der vorhandenen Threads in diesem Moment im Status 'running' ('#trun'), 'schlafend unterbrechbar' ('#tslpi') und 'schlafend nicht unterbrechbar' ('#tslpu'), die Anzahl der Zombieprozesse ('#zombie'), die Anzahl der Klon-Systemaufrufe ('Klone') und die Anzahl der Prozesse, die während des Intervalls beendet wurden ('#exit', das '?' anzeigt, wenn die Prozessabrechnung nicht verwendet wird).

CPU : Diese Zeile enthält den Prozentsatz der CPU-Zeit, der von allen aktiven Prozessen ('sys') im Kernel-Modus verbracht wurde, im Benutzermodus ('user') für alle aktiven Prozesse (einschließlich Prozesse mit einem schönen Wert größer als Null) Interrupt-Behandlung ('irq') einschließlich Softirq, sowie der Prozentsatz der ungenutzten CPU-Zeit, während keine Prozesse auf Disk-I / O ('Idle') warteten und während mindestens ein Prozeß auf Disk-I / O wartete ( 'warten'). Im Falle eines Multiprozessorsystems wird für jeden einzelnen Prozessor eine zusätzliche Zeile angezeigt (mit 'CPU' in Kleinbuchstaben), sortiert nach Aktivität.

CPL : Diese Zeile enthält Informationen zur CPU-Auslastung - die Anzahl der Threads, die auf einer CPU ausgeführt werden können (dh Teil der Runqueue) oder die auf Platten-E / A warten, die Anzahl der Kontextwechsel ('csw'), Anzahl der bedienten Interrupts ('intr') und die Anzahl der verfügbaren CPUs.

MEM : Diese Zeile enthält Informationen über den Speicherverbrauch - die Gesamtmenge des physischen Speichers ('tot'), die Menge des momentan freien Speichers ('frei'), die Menge des als Seiten-Cache verwendeten Speichers ('Cache') ), die Menge an Speicher innerhalb des Seitencaches, die auf die Platte geleert werden muss ('dirty'), die Menge an Speicher für Dateisystem - Metadaten ('buff') und die Menge an Speicher, der für Kernel - mallocs ('slab ').

SWP : Diese Zeile enthält den Gesamtumfang des Auslagerungsbereiches auf der Festplatte ('tot') und die Menge des freien Auslagerungsbereichs ('frei'), den festgeschriebenen virtuellen Speicherbereich ('vmcom') und die maximale Grenze des festgeschriebenen Speicherplatzes ('vmlim')

DSK : Diese Zeile enthält Informationen zur Festplattenauslastung - den Zeitabschnitt, in dem das Gerät mit Anfragen beschäftigt war ('busy'), die Anzahl der ausgegebenen Leseanforderungen ('read'), die Anzahl der ausgegebenen Schreibanforderungen ('write') ), die Anzahl der KiBytes pro gelesenen ('KiB / r'), die Anzahl der KiBytes pro Schreib ('KiB / w'), die Anzahl der MiBytes pro Sekunde Durchsatz für Lesevorgänge ('MBr / s'), die Anzahl der MiBytes pro Sekunde Durchsatz für Schreibvorgänge ('MBw / s'), die durchschnittliche Warteschlangentiefe ('avq') und die durchschnittliche Anzahl von Millisekunden, die eine Anfrage ('avio') für Suche, Latenz und Datenübertragung benötigt.

NET : Dies sind die Informationen zur Netzwerkauslastung (TCP / IP). Es wird eine Zeile für die Aktivität der Transportschicht (TCP und UDP), eine Zeile für die IP-Ebene und eine Zeile pro aktiver Schnittstelle angezeigt.

Auf die Informationen auf Systemebene folgen Informationen auf Prozessebene, die, wie der Name vermuten lässt, detaillierte Informationen zu den Prozessen bereitstellen, aus denen sich die Ressourcennutzung während des letzten Intervalls geändert hat (ein Standardintervall ist 10 Sekunden).

Ein wichtiger Punkt, der Erwähnung verdient, ist, dass atop Farben (rot, cyan und mehr) verwendet, um die Kritikalität des Ressourcenverbrauchs auf Systemebene anzuzeigen. Wenn zum Beispiel eine Ressource ihren kritischen Belegungsprozentsatz überschritten hat, ist die gesamte Bildschirmzeile ROT.

Hinweis : Weitere Informationen zur Ausgabe des Befehls finden Sie auf der Manpage des Befehls.

Interaktive Befehle

Sie können die Ausgabe des Befehls atop über Ihre Tastatur steuern. Drücken Sie beispielsweise m, um die speicherbezogene Ausgabe anzuzeigen, d für die datenträgerbezogene Ausgabe, n für die netzwerkbezogene Ausgabe, v für verschiedene Prozessmerkmale, c für die Befehlszeile des Prozesses usw.

Hier ist der Screenshot der Informationen auf Prozessebene, die durch den Befehl atop erzeugt wurden, wenn c gedrückt wurde:

Wie Sie sehen können, wird die Befehlszeile des Prozesses in der Ausgabe angezeigt.

Fazit

Atop ist ein sehr nützlicher Lastüberwachungsbefehl in Linux, der nicht nur eine Fülle von Informationen über Systemressourcen bereitstellt, sondern auch verschiedene Möglichkeiten bietet, die Ausgabe anzupassen und zu steuern. Es wird empfohlen, die Man-Seite des Befehls zu durchlaufen, um mehr darüber zu erfahren.