atop - Referenzhandbuch, Optionen, Befehlsbeispiele


NAME

atop - Erweiterter System- und Prozessmonitor

ZUSAMMENFASSUNG

atop -B[H] [interval [samples]]
atop [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFG1xR] [interval [samples]]
atop [-Plabel[,label]... [-Z]] [-Jlabel[,label]...] [interval [samples]]
atop -w rawfile [-a] [-S] [interval [samples]]
atop -B[H]r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm]
atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFG1xR]
atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] [-Plabel[,label]... [-Z]] [-Jlabel[,label]...]

BESCHREIBUNG

Das Programm atop ist ein interaktiver Monitor zur Anzeige der Auslastung eines Linux-Systems. Alle Intervall Sekunden (Standard: 10 Sekunden) werden Informationen über die Ressourcenbelegung auf Systemebene der (aus Performance-Sicht) kritischsten Hardwareressourcen, also CPUs, Speicher, Festplatten und Netzwerkschnittstellen, gesammelt . Außerdem werden Informationen über die Prozesse (oder Threads) gesammelt, die für die Auslastung der CPUs, des Speichers und der Festplatten verantwortlich sind. Die Netzwerklast pro Prozess wird nur angezeigt, wenn das Kernelmodul netatop installiert wurde.

BALKENGRAPH-MODUS

Wenn Sie atop ausführen, können Sie wählen, ob Sie die Systemlast im Balkendiagrammmodus oder im Textmodus anzeigen möchten. Im Balkendiagrammmodus wird die Ressourcenauslastung von CPUs, Speicher, Festplatten und Netzwerkschnittstellen über (zeichenbasierte) Balkendiagramme angezeigt, jedoch nur auf Systemebene. Wenn Sie detailliertere Informationen auf Systemebene oder den Ressourcenverbrauch auf Prozess- oder Thread-Ebene anzeigen möchten, können Sie durch Drücken der Taste „B“ in den Textmodus wechseln. Alternativ können Sie (erneut) mit der Taste „B“ vom Textmodus in den Balkendiagrammmodus wechseln.
Standardmäßig startet atop im Textmodus, es sei denn, das Flag -B wird verwendet oder „B“ wurde als Standardflag in der Datei .atoprc konfiguriert. -Datei (weitere Informationen zu Standard-Flags finden Sie in der Manpage atoprc).

Im Balkendiagrammmodus wird das Terminal in vier zeichenbasierte Fenster unterteilt, d. h. ein Fenster für jede Hardwareressource:

Processors

Der erste Balken zeigt den durchschnittlichen Auslastungsprozentsatz aller CPUs mit der Balkenbezeichnung „Avg“ (kann mit „Av“ oder auch nur „A“ abgekürzt werden). Die nachfolgenden Balken zeigen die Auslastungsprozentsätze einzelner CPUs.
Wenn der horizontale Platz nicht ausreicht, um alle CPUs anzuzeigen, werden nur die am stärksten ausgelasteten CPUs pro Stichprobe angezeigt, nachdem die Breite jedes Balkens auf ein Minimum reduziert wurde.

Standardmäßig werden die Kategorien des CPU-Verbrauchs durch unterschiedliche Farben in den Balken angezeigt, die mit einem Zeichen „S“ (Systemmodus), „U“ (Benutzermodus), „I“ (Interrupt-Verarbeitung) und „s“ (Stehlen) gekennzeichnet sind ) und „G“ (Gast, d. h. von virtuellen Maschinen genutzt).
Der obere Rand der Leiste könnte aus einer nicht markierten Farbe bestehen, die eine „neutrale“ Kategorie darstellt. Angenommen, die Skalierungseinheit beträgt 5 % pro Leitung und der Gesamtbelegungsprozentsatz beträgt 54 %, bestehend aus zwei Kategorien von 27 %. Die beiden Kategorien werden auf 25 % (5 Zeilen zu je 5 %) gerundet, der Gesamtauslastungsprozentsatz wird jedoch auf 55 % (11 Zeilen zu je 5 %) gerundet. Dann stellt die oberste Zeile eine „neutrale“ Kategorie dar.
Durch Drücken der Taste „H“ oder durch Starten von oben mit dem Flag „-H“ werden keine Kategorien angezeigt.

Als kritischer Schwellenwert wird im Balkendiagramm eine rote Linie eingezeichnet. Standardmäßig beträgt dieser Wert 90 % und kann durch die Option „cpucritperc“ in der Konfigurationsdatei geändert werden (siehe separate atoprc-Manpage). Wenn dieser Wert auf Null gesetzt ist, wird keine Schwellenwertlinie gezeichnet.

Memory and swap space

Der Speicher wird als Spalte dargestellt, in der die spezifischen Kategorien des Speicherverbrauchs angezeigt werden. Diese Kategorien sind (Code, Daten und Stapel von) Prozessen/Kernel, Slab-Caches (d. h. dynamisch zugewiesener Kernel-Speicher), gemeinsam genutzter Speicher, tmpfs, Seiten-Cache und freier Speicher.
Swap Space (sofern vorhanden) wird ebenfalls als Spalte dargestellt, in der die Kategorien Prozesse/tmpfs, Shared Memory und freier Speicherplatz angezeigt werden. Auf der rechten Seite werden speicherbezogene Ereigniszähler angezeigt.
Die unteren drei Zähler sind grün gefärbt, wenn kein Speicherdruck vorliegt. Wenn eine erhebliche Aktivität festgestellt wird, kann ein solcher Zähler orange und bei hoher Aktivität rot gefärbt sein.
Wenn der Speicherdruck beginnt, wird normalerweise zuerst das Scannen der Speicherseiten aktiviert. Wenn der Druck zunimmt, werden möglicherweise Speicherseiten von Prozessen ausgelagert, um Speicherplatz auszulagern (sofern vorhanden).
Der „oomkills“-Zähler (Out Of Memory kill) ist am gravierendsten: Er spiegelt die Anzahl der Prozesse wider, die aufgrund von Speicher- (und Swap-)Mangel abgebrochen werden. Daher zeigt dieser Zähler die absolute Anzahl (nicht pro Sekunde) der Prozesse an, die während des letzten Intervalls abgebrochen wurden, und wird sofort rot gefärbt, wenn er 1 oder mehr beträgt. Außerdem bleibt der „oomkills“-Zähler, nachdem atop das Töten von OOM bemerkt hat, für die nächsten 15 Minuten orange, nur für den Fall, dass Sie das Tötungsereignis von OOM selbst verpasst haben.
Wenn im Speicherfenster genügend vertikaler Platz vorhanden ist, werden Ereigniszähler über die Anzahl der eingelagerten Speicherseiten, die Anzahl der an Blockgeräte ausgelagerten Speicherseiten und die Anzahl der von Blockgeräten eingelagerten Speicherseiten angezeigt.

Der Speicher- und Auslagerungsspeicherverbrauch wird vorzugsweise in einem zeichenbasierten Fenster angezeigt, das für eine optimale Granularität vertikal den gesamten Bildschirm ausnutzt. Wenn jedoch viele Festplatten und/oder Netzwerkschnittstellen vorhanden sind, wird der Speicher- und Swap-Space-Verbrauch in einem zeichenbasierten Fenster angezeigt, das nur die obere Hälfte des Bildschirms einnimmt.

Disks

Für jede Festplatte wird der Auslastungsprozentsatz als Balken angezeigt.
Wenn nicht genügend horizontaler Platz vorhanden ist, um alle Festplatten anzuzeigen, werden nur die Festplatten mit der höchsten Auslastung pro Probe angezeigt.

Standardmäßig werden Kategorien des Festplattenverbrauchs durch unterschiedliche Farben in den Balken angezeigt, die mit den Buchstaben „R“ (Lesen) und „W“ (Schreiben) gekennzeichnet sind.
Der obere Rand der Leiste könnte aus einer nicht markierten Farbe bestehen, die eine „neutrale“ Kategorie darstellt. Angenommen, die Skalierungseinheit beträgt 5 % pro Leitung und der Gesamtbelegungsprozentsatz beträgt 54 %, bestehend aus zwei Kategorien von 27 %. Die beiden Kategorien werden auf 25 % (5 Zeilen zu je 5 %) gerundet, der Gesamtauslastungsprozentsatz wird jedoch auf 55 % (11 Zeilen zu je 5 %) gerundet. Dann stellt die oberste Zeile eine „neutrale“ Kategorie dar.
Durch Drücken der Taste „H“ oder durch Starten von oben mit dem Flag „-H“ werden keine Kategorien angezeigt.

Als kritischer Schwellenwert wird im Balkendiagramm eine rote Linie eingezeichnet. Standardmäßig beträgt dieser Wert 90 % und kann durch die Option „dskcritperc“ in der Konfigurationsdatei geändert werden (siehe separate Manpage zu atoprc). Wenn dieser Wert auf Null gesetzt ist, wird keine Schwellenwertlinie gezeichnet.

Interfaces

Für jede nicht-virtuelle Netzwerkschnittstelle wird ein Doppelbalkendiagramm mit einer speziellen Skala angezeigt, die die Verkehrsrate widerspiegelt. Einer der Balken zeigt die Senderate („TX“) und der andere Balken die Empfangsrate („RX“). Der Verkehrsumfang jeder Netzwerkschnittstelle bleibt auf seinem höchsten Niveau. Alle Schnittstellenskalen können während der Messung durch Drücken der „L“-Taste zurückgesetzt werden. Meistens ist die tatsächliche Geschwindigkeit (maximale Bandbreite) von Netzwerkschnittstellen nicht bekannt, z. B. im Falle der Netzwerkschnittstellen virtueller Maschinen. Daher ist es nicht möglich, die Schnittstellenauslastung in Prozent anzuzeigen. Wenn jedoch die tatsächliche Geschwindigkeit einer Schnittstelle bekannt ist, wird sie unter dem entsprechenden Balkendiagramm angezeigt. Wenn der horizontale Platz nicht ausreicht, um alle Netzwerkschnittstellen anzuzeigen, werden nur die am stärksten ausgelasteten Schnittstellen pro Beispiel angezeigt.

Normalerweise werden die Balkendiagramme nicht nach dem Auslastungsprozentsatz sortiert, wenn genügend horizontaler Platz vorhanden ist. Nach dem Wechsel vom Textmodus in den Balkendiagrammmodus wurden die Balkendiagramme jedoch möglicherweise sortiert, da dies für die Darstellung im Textmodus erforderlich war. Das nächste Intervall im Balkendiagrammmodus zeigt die Balken wieder unsortiert an, es sei denn, die Fensterbreite reicht nicht für alle Balken aus.

Der verbleibende Teil dieser Handbuchseite beschreibt hauptsächlich die im Textmodus angezeigten Informationen. Wenn bestimmte Beschreibungen auch für den Balkendiagrammmodus gelten, wird dies ausdrücklich erwähnt.

TEXTMODUS ALLGEMEIN

Der Startbildschirm im Textmodus zeigt an, ob atop mit eingeschränkter Ansicht (nicht privilegierter Benutzer) oder uneingeschränkter Ansicht (privilegierter Benutzer) ausgeführt wird. Im Falle einer eingeschränkten Ansicht verfügt atop nicht über die Berechtigungen (keine Root-Identität oder die erforderlichen Fähigkeiten), um alle Zählerwerte auf Systemebene und auf Prozessebene abzurufen.

In jedem Intervall werden Informationen über die Ressourcenbelegung auf Systemebene (CPU, Speicher, Festplatten und Netzwerkebenen) angezeigt, gefolgt von einer Liste der Prozesse, die im letzten Intervall aktiv waren. Beachten Sie, dass alle Prozesse, die während des letzten Intervalls unverändert waren, nicht angezeigt werden, es sei denn, die Taste „a“ wurde gedrückt oder es wurde eine Sortierung nach Speicherbelegung durchgeführt (dann sind auch inaktive Prozesse relevant). Wenn die Liste der aktiven Prozesse nicht vollständig auf den Bildschirm passt, wird nur der Anfang der Liste angezeigt (sortiert nach Aktivität).
Die Intervalle werden wiederholt, bis die Anzahl der Samples (angegeben als Befehlsargument) erreicht ist oder bis die Taste „q“ im interaktiven Modus gedrückt wird.

Wenn atop gestartet wird, prüft es, ob der Standardausgabekanal mit einem Bildschirm oder einer Datei/Pipe verbunden ist. Im ersten Fall erzeugt es Bildschirmsteuerungscodes (über die Ncurses-Bibliothek) und verhält sich interaktiv; Im zweiten Fall wird eine flache Textausgabe erzeugt.

Im interaktiven Modus skaliert die Ausgabe von atop dynamisch an die aktuellen Abmessungen des Bildschirms/Fensters.
Wenn die Fenstergröße horizontal geändert wird, werden Spalten automatisch hinzugefügt oder entfernt. Zu diesem Zweck hat jede Spalte ein bestimmtes Gewicht. Es werden die Spalten mit den höchsten Gewichtungen angezeigt, die in die aktuelle Breite passen.
Wenn die Fenstergröße vertikal geändert wird, werden Zeilen der Prozess-/Threadliste automatisch hinzugefügt oder entfernt.

Im interaktiven Modus kann die Ausgabe von atop durch Drücken bestimmter Tasten gesteuert werden. Es ist jedoch auch möglich, einen solchen Schlüssel als Flag in der Befehlszeile anzugeben. In diesem Fall wechselt atop vorher in den angegebenen Modus. Dieser Modus kann wieder interaktiv geändert werden. Die Angabe eines solchen Schlüssels als Flag ist besonders nützlich, wenn atop mit Ausgabe in eine Pipe oder Datei (nicht interaktiv) ausgeführt wird. Diese Flags sind die gleichen wie die Tasten, die im interaktiven Modus gedrückt werden können (siehe Abschnitt INTERAKTIVE BEFEHLE).
Zur Unterstützung der Speicherung von Atop-Daten im Rohformat stehen zusätzliche Flags zur Verfügung (siehe Abschnitt RAW DATA STORAGE).

Prozessabrechnung

In jedem Intervall liest atop die Kernelverwaltung aus, um Informationen über alle laufenden Prozesse zu erhalten. Es ist jedoch wahrscheinlich, dass Prozesse während des Intervalls beendet wurden. Diese Prozesse haben in diesem Zeitraum möglicherweise Systemressourcen verbraucht, bevor sie beendet wurden. Daher versucht atop, die Prozessabrechnungsdatensätze zu lesen, die die Abrechnungsinformationen beendeter Prozesse enthalten, und diese Prozesse ebenfalls zu melden. Nur wenn der Prozessabrechnungsmechanismus im Kernel aktiviert ist, schreibt der Kernel für jeden Prozess, der beendet wird, einen solchen Prozessabrechnungsdatensatz in eine Datei.

Es gibt verschiedene Möglichkeiten für atop, Zugriff auf die Prozessabrechnungsdatensätze zu erhalten (in dieser Reihenfolge ausprobiert):

1.

Wenn die Umgebungsvariable ATOPACCT gesetzt ist, gibt sie den Namen der Prozessabrechnungsdatei an. In diesem Fall sollte zuvor die Prozessabrechnung für diese Datei aktiviert worden sein. Bevor diese Datei zum Lesen geöffnet wird, löscht atop seine Root-Rechte (falls vorhanden).
Wenn diese Umgebungsvariable vorhanden ist, ihr Inhalt jedoch leer ist, wird die Prozessabrechnung überhaupt nicht verwendet.

2.

Dies ist die bevorzugte Art der Verarbeitung von Prozessbuchhaltungsunterlagen!
Wenn der atopacctd-Daemon aktiv ist, hat er den Prozessabrechnungsmechanismus im Kernel aktiviert und überträgt die ursprünglichen Abrechnungsdatensätze in Schattendateien. In diesem Fall gibt atop seine Root-Rechte auf und öffnet die aktuelle Schattendatei zum Lesen.
Diese Methode wird bevorzugt, da der atopacctd-Daemon die volle Kontrolle über die Größe der ursprünglichen, vom Kernel geschriebenen Prozessabrechnungsdatei und der von den atop-Prozessen gelesenen Schattendateien behält ).

Der atopacct-Dienst wird vor dem atop-Dienst aktiviert, damit atop erkennen kann, dass die Prozessabrechnung vom atopacctd verwaltet wird > Daemon. Als Forking-Dienst sorgt atopacctd dafür, dass alle Verzeichnisse und Dateien initialisiert werden, bevor der übergeordnete Prozess stirbt. Der untergeordnete Prozess wird als Daemon-Prozess fortgeführt.

Weitere Informationen finden Sie auf der Manpage atopacctd.

3.

Wenn der atopacctd-Daemon nicht aktiv ist, überprüft atop, ob der Prozessabrechnungsmechanismus über den separaten psacct oder acct< aktiviert wurde-Paket (der Paketname hängt von der Linux-Distribution ab). In diesem Fall eine der Dateien /var/log/pacct, /var/account/pacct oder /var/log/account/pacct wird als Prozessabrechnungsdatei verwendet und atop öffnet diese Datei zum Lesen.

4.

Als letzte Möglichkeit versucht atop selbst, den Prozessabrechnungsmechanismus (erfordert Root-Rechte) über die Datei /var/cache/atop.d/atop.acct zu aktivieren (um vom Kernel geschrieben werden, um von auf selbst gelesen zu werden). Die Prozessabrechnung bleibt aktiv, solange mindestens ein atop-Prozess aktiv ist. Immer wenn der letzte atop-Prozess stoppt (entweder durch Drücken von „q“ oder durch „kill -15“), wird der Prozessabrechnungsmechanismus wieder deaktiviert. Daher sollten Sie atop niemals mit „kill -9“ beenden, da es dann keine Chance mehr hat, die Prozessabrechnung zu stoppen. Dadurch kann es sein, dass die Buchhaltungsdatei nach einiger Zeit viel Speicherplatz belegt.
Um zu vermeiden, dass die Prozessabrechnungsdatei zu viel Speicherplatz verbraucht, überprüft atop am Ende jeder Stichprobe, ob die Größe der Prozessabrechnungsdatei 200 MiB überschreitet und ob dies atop ist Der Prozess ist der einzige, der die Datei derzeit verwendet. In diesem Fall wird die Datei auf die Größe Null gekürzt.

Beachten Sie, dass Root-Rechte erforderlich sind, um die Prozessabrechnung im Kernel ein-/auszuschalten. Sie können atop als Root-Benutzer starten oder setuid-root-Berechtigungen für die ausführbare Datei angeben. Im letzteren Fall schaltet atop die Prozessabrechnung ein und lässt die Root-Rechte wieder fallen.
Wenn atop nicht mit Root-Rechten läuft, werden keine Informationen über abgeschlossene Prozesse angezeigt. Es zeigt diese Situation mit der Meldung „no procacct“ in der oberen rechten Ecke an (anstelle des Zählers, der die Anzahl der beendeten Prozesse anzeigt).

Wenn während eines Intervalls viele Prozesse abgeschlossen wurden, kann atop im Speicher enorm anwachsen, wenn am Ende des Intervalls alle Prozessabrechnungsdatensätze gelesen werden. Um solch ein übermäßiges Wachstum zu vermeiden, wird atop niemals mehr als 50 MiB mit Prozessinformationen aus der Prozessabrechnungsdatei pro Intervall lesen (ca. 54000 abgeschlossene Prozesse). Im interaktiven Modus wird eine Warnung ausgegeben, wenn Prozesse aus diesem Grund übersprungen wurden.

FARBEN

Für den Ressourcenverbrauch auf Systemebene verwendet atop im Textmodus Farben, um anzuzeigen, dass ein kritischer Belegungsprozentsatz (fast) erreicht wurde. Ein kritischer Belegungsprozentsatz bedeutet, dass diese Auslastung wahrscheinlich einen spürbaren negativen Einfluss auf die Leistung von Anwendungen hat, die diese Ressource verwenden. Der kritische Prozentsatz hängt von der Art der Ressource ab: z.B. Der Leistungseinfluss einer Festplatte mit einem Auslastungsgrad von 80 % ist für Anwendungen/Benutzer möglicherweise stärker spürbar als bei einer CPU mit einem Auslastungsgrad von 90 %.
Derzeit verwendet atop die folgenden Standardwerte, um einen gewichteten Prozentsatz pro Ressource zu berechnen:

Processor

Ein Belegungsanteil von 90 % oder höher gilt als „kritisch“ (auch im Balkendiagrammmodus).

Disk

Ein Auslastungsgrad von 90 % oder mehr gilt als „kritisch“.

Network

Als „kritisch“ gilt ein Auslastungsgrad von 90 % oder mehr für die Auslastung einer Schnittstelle.

Memory

Als „kritisch“ gilt ein Besetzungsgrad von 90 %. Beachten Sie, dass dieser Belegungsprozentsatz der kumulierte Speicherverbrauch des Kernels (einschließlich Slab) und aller Prozesse ist. Der Speicher für den Seitencache ('cache' und 'buff' in der MEM-Zeile) und den zurückgewinnbaren Teil der Platte ('slrec') ist nicht impliziert!
Wenn die Anzahl der ausgelagerten Seiten („swout“ in der PAG-Zeile) größer als 10 pro Sekunde ist, gilt die Speicherressource als „kritisch“. Als „fast kritisch“ gilt ein Wert von mindestens 1 pro Sekunde.
Wenn der zugesagte virtuelle Speicher das Limit überschreitet ('vmcom' und 'vmlim' in der SWP-Zeile), wird die SWP-Zeile aufgrund der Überbelegung des Systems farbig.

Swap

Eine Belegungsquote von 80 % gilt als „kritisch“, da der Swap-Bereich in naher Zukunft möglicherweise vollständig erschöpft sein könnte. Aus Performance-Sicht ist dies nicht kritisch.

Diese Standardwerte können in der Konfigurationsdatei geändert werden (siehe separate atoprc-Manpage).

Wenn eine Ressource ihren kritischen Belegungsprozentsatz überschreitet, werden die betreffenden Werte in der Bildschirmzeile standardmäßig rot eingefärbt.
Wenn eine Ressource (standardmäßig) 80 % ihres kritischen Prozentsatzes überschreitet (also nahezu kritisch ist), werden die betreffenden Werte in der Bildschirmzeile standardmäßig in Cyan angezeigt. Dieser „fast kritische Prozentsatz“ (ein Wert für alle Ressourcen) kann auch in der Konfigurationsdatei geändert werden (siehe separate Manpage zu atoprc).
Die Standardfarben Rot und Cyan können ebenfalls in der Konfigurationsdatei geändert werden (siehe separate atoprc-Manpage).

Mit der Taste 'x' (oder Flag -x) kann die Verwendung von Farben im Textmodus unterdrückt werden. Im Bargraph-Modus ist die Verwendung von Farben jedoch zwingend erforderlich.

NETATOP-MODUL

Die Netzwerkaktivität pro Prozess und pro Thread kann mit dem Kernelmodul netatop gemessen werden. Sie können dieses Kernel-Modul von der Website (am Ende dieser Handbuchseite erwähnt) herunterladen und auf Ihrem System installieren.
Wenn atop Zähler für ein neues Intervall sammelt, überprüft es, ob das netatop-Modul derzeit aktiv ist. Wenn ja, ruft atop die relevanten Netzwerkzähler von diesem Modul ab und zeigt die Anzahl der gesendeten und empfangenen Pakete pro Prozess/Thread im allgemeinen Bildschirm an. Darüber hinaus können detaillierte Zähler durch Drücken der Taste „n“ angefordert werden.
Wenn auch der netatopd-Daemon läuft, liest atop auch die Netzwerkzähler beendeter Prozesse, die von diesem Daemon protokolliert werden (vergleichbar mit der Prozessabrechnung).

Weitere Informationen zum optionalen netatop-Kernelmodul und zum netatopd-Daemon finden Sie in den entsprechenden Manpages und auf der am Ende dieser Manpage genannten Website.

GPU-STATISTIK-ERFASSUNG

GPU-Statistiken können von atopgpud erfasst werden, einem separaten Datenerfassungs-Daemon-Prozess. Es erfasst kumulative Auslastungszähler aller Nvidia-GPUs im System sowie Auslastungszähler aller Prozesse, die eine GPU verwenden. Wenn atop feststellt, dass der Daemon aktiv ist, liest es diese GPU-Auslastungszähler in jedem Intervall.

Der atopgpud-Daemon ist in Python geschrieben, daher sollte ein Python-Interpreter auf dem Zielsystem installiert sein. Für die Erfassung der Statistiken wird vom Daemon das Modul pynvml verwendet. Stellen Sie sicher, dass dieses Modul auf dem Zielsystem installiert ist, bevor Sie den Daemon aktivieren, indem Sie den Befehl pip als Root-Benutzer ausführen:

pip install nvidia-ml-py

Der atopgpud-Daemon wird standardmäßig als Teil des atop-Pakets installiert, ist jedoch nicht automatisch aktiviert. Der Daemon kann jetzt aktiviert und gestartet werden, indem die folgenden Befehle (als Root) ausgeführt werden:

systemctl aktiviert atopgpu
systemctl start atopgpu

Eine Beschreibung der Auslastungszähler finden Sie im Abschnitt AUSGABEBESCHREIBUNG.

INTERAKTIVE BEFEHLE

Bei der interaktiven Ausführung von atop (keine Ausgabeumleitung) können Tasten gedrückt werden, um die Ausgabe zu steuern. Im Allgemeinen können Kleinbuchstaben-Tasten verwendet werden, um andere Informationen für die aktiven Prozesse anzuzeigen, während bestimmte Großbuchstaben-Tasten verwendet werden können, um die Sortierreihenfolge der aktiven Prozess-/Thread-Liste zu beeinflussen. Mit einigen dieser Tasten kann auch vom Balkendiagrammmodus auf bestimmte detaillierte Prozessinformationen im Textmodus umgeschaltet werden.

g

Allgemeine Ausgabe anzeigen (Standard).

Pro Prozess werden bei einer Fensterbreite von 80 Stellen folgende Felder angezeigt: Prozess-ID, CPU-Verbrauch im letzten Intervall im System- und Benutzermodus, das virtuelle und residente Speicherwachstum des Prozesses.
Der Datentransfer pro Prozess beim Lesen/Schreiben auf der Festplatte kann nur angezeigt werden, wenn atop mit Root-Rechten läuft.
Wenn das Kernel-Modul „netatop“ geladen ist, wird für jeden Prozess die Datenübertragung zum Senden/Empfangen von Netzwerkpaketen angezeigt.
Die letzten Spalten enthalten den Status, den Auslastungsprozentsatz für die ausgewählte Ressource (Standard: CPU) und den Prozessnamen.

Wenn mehr als 80 Stellen verfügbar sind, werden weitere Informationen hinzugefügt.

m

Speicherbezogene Ausgabe anzeigen.

Pro Prozess werden bei einer Fensterbreite von 80 Positionen folgende Felder angezeigt: Prozess-ID, kleinere und größere Speicherfehler, Größe des virtuellen gemeinsamen Textes, Gesamtgröße des virtuellen Prozesses, Gesamtgröße des residenten Prozesses, virtuelles und residentes Wachstum im letzten Intervall , Speicherbelegungsprozentsatz und Prozessname.

Wenn mehr als 80 Stellen verfügbar sind, werden weitere Informationen hinzugefügt.

Beim Speicherverbrauch werden immer alle Prozesse angezeigt (auch die Prozesse, die im Intervall nicht aktiv waren).

d

Festplattenbezogene Ausgabe anzeigen.

Wenn atop mit Root-Rechten ausgeführt wird, werden die folgenden Felder angezeigt: Prozess-ID, von der Festplatte gelesene Datenmenge, auf die Festplatte geschriebene Datenmenge, geschriebene, aber wieder entnommene Datenmenge ( WCANCL), Prozentsatz der Festplattenbelegung und Prozessname.

n

Netzwerkbezogene Ausgabe anzeigen.

Pro Prozess werden bei einer Fensterbreite von 80 Stellen folgende Felder angezeigt: Prozess-ID, Thread-ID, Gesamtbandbreite für empfangene Pakete, Gesamtbandbreite für gesendete Pakete, Anzahl der empfangenen TCP-Pakete mit der durchschnittlichen Größe pro Paket (in Bytes), Anzahl gesendeter TCP-Pakete mit durchschnittlicher Größe pro Paket (in Bytes), Anzahl empfangener UDP-Pakete mit durchschnittlicher Größe pro Paket (in Bytes), Anzahl gesendeter UDP-Pakete mit durchschnittlicher Größe pro Paket (in Bytes) , der Netzwerkbelegungsprozentsatz und der Prozessname.
Diese Informationen können nur angezeigt werden, wenn das Kernelmodul „netatop“ installiert ist.

Wenn mehr als 80 Stellen verfügbar sind, werden weitere Informationen hinzugefügt.

s

Terminierungsmerkmale anzeigen.

Pro Prozess werden bei einer Fensterbreite von 80 Positionen folgende Felder angezeigt: Prozess-ID, Anzahl der Threads im Zustand „Running“ (R), Anzahl der Threads im Zustand „Interruptible Sleeping“ (S), Anzahl der Threads in Status „unterbrechungsfreier Schlaf“ (D), Planungsrichtlinie (normales Timesharing, Echtzeit-Round-Robin, Echtzeit-FIFO), netter Wert, Priorität, Echtzeitpriorität, aktueller Prozessor, Status, Exit-Code, Status, Belegungsprozentsatz für die ausgewählte Ressource und der Prozessname.

Wenn mehr als 80 Stellen verfügbar sind, werden weitere Informationen hinzugefügt.

v

Zeigen Sie verschiedene Prozessmerkmale an.

Pro Prozess werden bei einer Fensterbreite von 80 Stellen folgende Felder angezeigt: Prozess-ID, Benutzername und -gruppe, Startdatum und -uhrzeit, Status (z. B. Exit-Code, wenn der Prozess abgeschlossen ist), Status, der Belegungsprozentsatz für den ausgewählte Ressource und den Prozessnamen.

Wenn mehr als 80 Stellen verfügbar sind, werden weitere Informationen hinzugefügt.

c

Zeigt die Befehlszeile des Prozesses an.

Pro Prozess werden die folgenden Felder angezeigt: Prozess-ID, der Belegungsprozentsatz für die ausgewählte Ressource und die Befehlszeile einschließlich Argumenten.

X

Informationen zu cgroup v2 anzeigen.

Pro Prozess werden die folgenden Felder angezeigt: Prozess-ID, „cpu.weight“ der Kontrollgruppe, zu der der Prozess gehört, „cpu.max“-Wert (neu berechnet als Prozentsatz) der Kontrollgruppe, zu der der Prozess gehört, am restriktivsten „cpu.max“. ' Wert in den oberen Verzeichnissen gefunden, 'memory.max'-Wert der Kontrollgruppe, zu der der Prozess gehört, restriktivster Wert 'memory.max' in den oberen Verzeichnissen gefunden, 'memory.swap.max'-Wert der Kontrollgruppe, zu der der Prozess gehört Der restriktivste „memory.swap.max“-Wert in den oberen Verzeichnissen, der Befehlsname und der cgroup-Pfadname (horizontal scrollbar).

e

GPU-Auslastung anzeigen.

Pro Prozess werden mindestens die folgenden Felder angezeigt: Prozess-ID, Bereich der GPU-Nummern, auf denen der Prozess aktuell läuft, Prozentsatz der GPU-Auslastung auf allen GPUs, Prozentsatz der Speicherauslastung (d. h. Lese- und Schreibzugriffe auf den Speicher) auf allen GPUs, Speicherbelegung zum Zeitpunkt der Stichprobe, durchschnittliche Speicherbelegung während der Stichprobe und GPU-Prozentsatz.

Wenn der atopgpud-Daemon nicht mit Root-Rechten ausgeführt wird, sind der Prozentsatz der GPU-Auslastung und der Prozentsatz der Speicherauslastung auf Prozessebene nicht verfügbar. In diesem Fall spiegelt der GPU-Prozentsatz auf Prozessebene die GPU-Speicherbelegung wider und nicht den Prozentsatz der GPU-Auslastung (was bevorzugt wird).

o

Zeigt die benutzerdefinierte Zeile des Prozesses an.

In der Konfigurationsdatei kann das Schlüsselwort ownprocline mit der Beschreibung einer benutzerdefinierten Ausgabezeile angegeben werden.
Eine detaillierte Beschreibung finden Sie auf der Manpage von atoprc.

y

Die einzelnen Threads innerhalb eines Prozesses anzeigen (umschalten).

Single-Thread-Prozesse werden weiterhin als eine Zeile angezeigt.
Bei Multithread-Prozessen stellt eine Linie den Prozess dar, während zusätzliche Linien die Aktivität pro einzelnem Thread anzeigen (in einer anderen Farbe). Abhängig von der Option „a“ (alle oder aktiv umschalten), werden alle Threads angezeigt oder nur die Threads, die im letzten Intervall aktiv waren. Abhängig von der Option 'Y' (Threads sortieren) werden die Threads pro Prozess nach dem gewählten Sortierkriterium sortiert oder nicht.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

Y

Sortieren Sie die Threads pro Prozess in Kombination mit der Option „y“ (umschalten).

u

Zeigt die pro Benutzer akkumulierte Prozessaktivität an.

Pro Benutzer werden die folgenden Felder angezeigt: Anzahl der während des letzten Intervalls aktiven oder beendeten Prozesse (oder insgesamt, wenn mit Befehl „a“ kombiniert), akkumulierter CPU-Verbrauch während des letzten Intervalls im System- und Benutzermodus, der aktuell verbrauchte virtuelle und residente Speicherplatz durch aktive Prozesse (oder alle Prozesse des Benutzers, wenn mit dem Befehl 'a' kombiniert).
Wenn atop mit Root-Rechten ausgeführt wird, wird der kumulierte Lese- und Schreibdurchsatz auf der Festplatte angezeigt. Wenn das Kernel-Modul „netatop“ installiert wurde, wird die kumulierte Anzahl der empfangenen und gesendeten Netzwerkpakete angezeigt.
Die letzten Spalten enthalten den kumulierten Belegungsprozentsatz für die ausgewählte Ressource (Standard: CPU) und den Benutzernamen.

p

Zeigt die pro Programm akkumulierte Prozessaktivität an (d. h. Prozessname).

Pro Programm werden die folgenden Felder angezeigt: Anzahl der während des letzten Intervalls aktiven oder beendeten Prozesse (oder insgesamt, wenn mit Befehl „a“ kombiniert), akkumulierter CPU-Verbrauch während des letzten Intervalls im System- und Benutzermodus, der aktuell verbrauchte virtuelle und residente Speicherplatz durch aktive Prozesse (oder alle Prozesse des Benutzers, wenn mit dem Befehl 'a' kombiniert).
Wenn atop mit Root-Rechten ausgeführt wird, wird der kumulierte Lese- und Schreibdurchsatz auf der Festplatte angezeigt. Wenn das Kernel-Modul „netatop“ installiert wurde, wird die kumulierte Anzahl der empfangenen und gesendeten Netzwerkpakete angezeigt.
Die letzten Spalten enthalten den kumulierten Belegungsprozentsatz für die ausgewählte Ressource (Standard: CPU) und den Programmnamen.

j

Zeigt die pro Docker-Container akkumulierte Prozessaktivität an.

Pro Container werden die folgenden Felder angezeigt: Anzahl der während des letzten Intervalls aktiven oder beendeten Prozesse (oder insgesamt, wenn mit Befehl „a“ kombiniert), akkumulierter CPU-Verbrauch während des letzten Intervalls im System- und Benutzermodus, der aktuell verbrauchte virtuelle und residente Speicherplatz durch aktive Prozesse (oder alle Prozesse des Benutzers, wenn mit dem Befehl 'a' kombiniert).
Wenn atop mit Root-Rechten ausgeführt wird, wird der kumulierte Lese- und Schreibdurchsatz auf der Festplatte angezeigt. Wenn das Kernel-Modul „netatop“ installiert wurde, wird die kumulierte Anzahl der empfangenen und gesendeten Netzwerkpakete angezeigt.
Die letzten Spalten enthalten den akkumulierten Belegungsprozentsatz für die ausgewählte Ressource (Standard: CPU) und die Docker-Container-ID (CID).

C

Sortieren Sie die aktuelle Liste in der Reihenfolge des CPU-Verbrauchs (Standard). Die vorletzte Spalte ändert sich in „CPU“.

E

Sortieren Sie die aktuelle Liste in der Reihenfolge der GPU-Auslastung (bevorzugt, aber nur anwendbar, wenn der atopgpud-Daemon unter Root-Rechten ausgeführt wird) oder in der Reihenfolge der GPU-Speicherbelegung. Die vorletzte Spalte ändert sich in „GPU“.

M

Sortieren Sie die aktuelle Liste in der Reihenfolge des residenten Speicherverbrauchs. Die vorletzte Spalte ändert sich in „MEM“. Bei einer Sortierung nach Speicher wird die vollständige Prozessliste angezeigt (nicht nur die aktiven Prozesse).

D

Sortieren Sie die aktuelle Liste in der Reihenfolge der erfolgten Festplattenzugriffe. Die vorletzte Spalte ändert sich in „DSK“.

N

Sortieren Sie die aktuelle Liste in der Reihenfolge der Netzwerkbandbreite (empfangen und gesendet). Die vorletzte Spalte ändert sich in „NET“.

A

Sortieren Sie die aktuelle Liste automatisch in der Reihenfolge der in diesem Intervall am stärksten ausgelasteten Systemressource. In der vorletzten Spalte wird entweder „ACPU“, „AMEM“, „ADSK“ oder „ANET“ angezeigt (das vorangehende „A“ gibt die automatische Sortierreihenfolge an). Die am stärksten ausgelastete Ressource wird durch Vergleich der gewichteten Auslastungsprozentsätze der Systemressourcen ermittelt, wie weiter oben im Abschnitt FARBEN beschrieben.
Diese Option bleibt gültig, bis erneut explizit eine andere Sortierreihenfolge ausgewählt wird.
Eine Sortierreihenfolge für die Festplatte ist nur möglich, wenn atop mit Root-Rechten läuft.
Eine Sortierreihenfolge für Netzwerk ist nur möglich, wenn das Kernelmodul „netatop“ geladen ist.

Verschiedene interaktive Befehle:

?

Bitte um Hilfeinformationen (auch die Taste „h“ kann gedrückt werden).

V

Anforderung von Versionsinformationen (Versionsnummer und Datum).

R

Erfassen und berechnen Sie die proportionale Mengengröße von Prozessen (umschalten). Das Sammeln aller Werte, die zur Berechnung der PSIZE eines Prozesses erforderlich sind, ist eine sehr zeitaufwändige Aufgabe, daher sollte dieser Schlüssel nur bei der Analyse des residenten Speicherverbrauchs von Prozessen aktiv sein.

W

Holen Sie sich den WCHAN pro Thread (umschalten). Das Sammeln der WCHAN-Zeichenfolge pro Thread ist eine relativ zeitaufwändige Aufgabe, daher sollte dieser Schlüssel nur aktiviert werden, wenn der Grund dafür analysiert wird, dass sich Threads im Ruhezustand befinden.

x

Unterdrücken Sie Farben, um kritische Ressourcen hervorzuheben (umschalten).
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

z

Mit der Pause-Taste kann die aktuelle Situation eingefroren werden, um die Ausgabe auf dem Bildschirm zu untersuchen. Während atop angehalten ist, können die oben beschriebenen Tasten gedrückt werden, um weitere Informationen über die aktuelle Prozessliste anzuzeigen. Immer wenn die Pause-Taste erneut gedrückt wird, wird mit dem nächsten Sample fortgefahren.
Die Pause-Taste kann im Textmodus und im Balkendiagrammmodus verwendet werden.

i

Ändern Sie den Intervall-Timer (Standard: 10 Sekunden). Bei Eingabe eines Intervalltimers von 0 wird der Intervalltimer ausgeschaltet. In diesem Fall kann eine neue Probe nur manuell durch Drücken der Taste „t“ ausgelöst werden.
Das Intervall kann im Textmodus und im Balkendiagrammmodus geändert werden.

t

Lösen Sie manuell eine neue Probe aus. Diese Taste kann gedrückt werden, wenn die aktuelle Probe beendet werden soll, bevor der Timer abgelaufen ist, oder wenn überhaupt kein Timer eingestellt ist (Intervall-Timer auf 0 definiert). Im letzteren Fall kann atop als Stoppuhr verwendet werden, um die durch eine bestimmte Anwendungstransaktion verursachte Last zu messen, ohne vorher zu wissen, wie viele Sekunden diese Transaktion dauern wird.
Diese Taste kann im Textmodus und im Balkendiagrammmodus verwendet werden.

Beim Anzeigen des Inhalts einer Rohdatei kann diese Taste verwendet werden, um das nächste Beispiel aus der Datei anzuzeigen. Diese Taste kann auch verwendet werden, wenn Rohdaten über eine Pipe angezeigt werden.

T

Beim Anzeigen des Inhalts einer Rohdatei kann diese Taste verwendet werden, um das vorherige Beispiel aus der Datei anzuzeigen, jedoch nicht beim Lesen von Rohdaten aus einer Pipe.
Diese Taste kann im Textmodus und im Balkendiagrammmodus verwendet werden.

b

Beim Betrachten des Inhalts einer Rohdatei kann dieser Schlüssel verwendet werden, um entweder vorwärts oder rückwärts zu einem bestimmten Zeitstempel innerhalb der Datei zu verzweigen. Beim Anzeigen von Rohdaten aus einer Pipe sind nur Vorwärtsverzweigungen möglich.
Diese Taste kann im Textmodus und im Balkendiagrammmodus verwendet werden.

r

Setzen Sie alle Zähler auf Null zurück, um die System- und Prozessaktivität seit dem erneuten Booten anzuzeigen.
Diese Taste kann im Textmodus und im Balkendiagrammmodus verwendet werden.

Beim Betrachten des Inhalts einer Rohdatei kann diese Taste verwendet werden, um wieder zum Anfang der Datei zurückzuspulen (außer beim Lesen von Rohdaten aus einer Pipe).

U

Geben Sie eine Suchzeichenfolge für bestimmte Benutzernamen als regulären Ausdruck an. Von nun an werden nur noch (aktive) Prozesse eines Benutzers angezeigt, die dem regulären Ausdruck entsprechen. Die Systemstatistiken sind weiterhin systemweit. Wird die Enter-Taste ohne Angabe eines Namens gedrückt, werden wieder (aktive) Prozesse aller Benutzer angezeigt.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

I

Geben Sie eine Liste mit einer oder mehreren auszuwählenden PIDs an. Von nun an werden nur noch Prozesse angezeigt, deren PID mit einer der angegebenen Liste übereinstimmt. Die Systemstatistiken sind weiterhin systemweit. Wird die Enter-Taste ohne Angabe einer PID gedrückt, werden wieder alle (aktiven) Prozesse angezeigt.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

P

Geben Sie eine Suchzeichenfolge für bestimmte Prozessnamen als regulären Ausdruck an. Von nun an werden nur noch Prozesse angezeigt, deren Name dem regulären Ausdruck entspricht. Die Systemstatistiken sind weiterhin systemweit. Wird die Enter-Taste ohne Angabe eines Namens gedrückt, werden wieder alle (aktiven) Prozesse angezeigt.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

/

Geben Sie eine bestimmte Befehlszeilen-Suchzeichenfolge als regulären Ausdruck an. Von nun an werden nur noch Prozesse angezeigt, deren Befehlszeile zum regulären Ausdruck passt. Die Systemstatistiken sind weiterhin systemweit. Wird die Enter-Taste ohne Angabe einer Zeichenfolge gedrückt, werden wieder alle (aktiven) Prozesse angezeigt.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

J

Geben Sie eine Docker-Container-ID mit 12 (hexadezimalen) Zeichen an. Von nun an werden nur noch Prozesse angezeigt, die in diesem bestimmten Docker-Container (CID) ausgeführt werden. Die Systemstatistiken sind weiterhin systemweit. Wird die Enter-Taste ohne Angabe einer Container-ID gedrückt, werden wieder alle (aktiven) Prozesse angezeigt.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

Q

Geben Sie eine durch Kommas getrennte Liste von Prozess-/Thread-Statuszeichen an. Von nun an werden nur noch Prozesse/Threads angezeigt, die sich in diesen spezifischen Zuständen befinden. Akzeptierte Zustände sind: R (läuft), S (schläft), D (Festplattenschlaf), I (leer), T (gestoppt), t (Tracing-Stopp), X (tot), Z (Zombie) und P (geparkt) . Die Systemstatistiken sind weiterhin systemweit. Wird die Enter-Taste ohne Angabe eines Status gedrückt, werden wieder alle (aktiven) Prozesse/Threads angezeigt.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

S

Geben Sie Suchzeichenfolgen für bestimmte logische Datenträgernamen, bestimmte Festplattennamen und bestimmte Netzwerkschnittstellennamen an. Alle Suchbegriffe werden als reguläre Ausdrücke interpretiert. Von nun an werden nur noch die Systemressourcen angezeigt, die dem betreffenden regulären Ausdruck entsprechen. Wird die Enter-Taste ohne Angabe einer Suchzeichenfolge gedrückt, werden erneut alle (aktiven) Systemressourcen dieses Typs angezeigt.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

a

Mit der Taste „Alle/Aktiv“ kann zwischen der Anzeige/Akkumulierung nur der Prozesse, die im letzten Intervall aktiv waren (Standard), und der Anzeige/Akkumulierung aller Prozesse umgeschaltet werden.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

G

Standardmäßig zeigt/akkumuliert atop die aktiven Prozesse und die Prozesse, die während des letzten Intervalls beendet wurden. Mit dieser Taste (Toggle) kann die Anzeige/Sammelung der beendeten Prozesse unterdrückt werden.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

f

Eine feste (maximale) Anzahl von Kopfzeilen für Systemressourcen anzeigen (umschalten). Standardmäßig werden nur die Zeilen zu Systemressourcen (CPUs, Paging, logische Volumes, Festplatten, Netzwerkschnittstellen) angezeigt, die im letzten Intervall tatsächlich aktiv waren. Mit diesem Schlüssel können Sie atop zwingen, auch Zeilen inaktiver Ressourcen anzuzeigen.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

F

Sortierung der Systemressourcen unterdrücken (umschalten). Standardmäßig werden Systemressourcen (CPUs, logische Volumes, Festplatten, Netzwerkschnittstellen) nach Auslastung sortiert.
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

1

Zeigen Sie relevante Zähler als Durchschnitt pro Sekunde (im Format „..../s“) statt als Gesamtsumme während des Intervalls an (umschalten).
Ob diese Taste aktiv ist oder nicht, ist in der Kopfzeile ersichtlich.

l

Begrenzen Sie die Anzahl der Leitungen auf Systemebene für die Zähler pro CPU, die aktiven Festplatten und die Netzwerkschnittstellen. Standardmäßig werden Zeilen aller CPUs, Festplatten und Netzwerkschnittstellen angezeigt, die im letzten Intervall aktiv waren. Das Begrenzen dieser Zeilen kann auf Systemen mit einer großen Anzahl von CPUs, Festplatten oder Schnittstellen nützlich sein, um auf auf einem Bildschirm/Fenster mit z.B. nur 24 Zeilen.
Für alle genannten Ressourcen kann die maximale Zeilenanzahl interaktiv festgelegt werden. Bei Verwendung des Flags -l wird die maximale Anzahl pro CPU-Leitungen auf 0, die maximale Anzahl der Festplattenleitungen auf 5 und die maximale Anzahl der Schnittstellenleitungen auf 3 gesetzt. Diese Werte können wieder geändert werden im interaktiven Modus.

k

Senden Sie ein Signal an einen aktiven Prozess (auch bekannt als „Prozess beenden“).

q

Beenden Sie das Programm.
Diese Taste kann im Textmodus und im Balkendiagrammmodus verwendet werden.

PgDn

Zeigt die nächste Seite der Prozess-/Thread-Liste an.
Mit der Pfeil-nach-unten-Taste kann die Liste einzeilig nach unten gescrollt werden.

^F

Zeigt die nächste Seite der Prozess-/Thread-Liste an (vorwärts).
Mit der Pfeil-nach-unten-Taste kann die Liste einzeilig nach unten gescrollt werden.

PgUp

Zeigt die vorherige Seite der Prozess-/Thread-Liste an.
Mit der Pfeil-nach-oben-Taste kann die Liste einzeilig nach oben gescrollt werden.

^B

Zeigt die vorherige Seite der Prozess-/Thread-Liste an (rückwärts).
Mit der Pfeil-nach-oben-Taste kann die Liste einzeilig nach oben gescrollt werden.

^L

Zeichnen Sie den Bildschirm neu.

RAWDATENSPEICHERUNG

Um Statistiken auf System- und Prozessebene für eine langfristige Analyse zu speichern (z. B. um die Systemlast und die aktiven Prozesse zu überprüfen, die gestern zwischen 15:00 und 16:00 Uhr ausgeführt wurden), kann atop das System speichern und Statistiken auf Prozessebene im komprimierten Binärformat in einer Rohdatei mit dem Flag -w, gefolgt vom Dateinamen. Wenn diese Datei bereits vorhanden ist und als Rohdatendatei erkannt wird, hängt atop neue Beispiele an die Datei an (beginnend mit einem Beispiel, das die Aktivität seit dem Booten widerspiegelt). Wenn die Datei nicht existiert, wird sie erstellt.
Alle Informationen über System, Prozesse und Thread-Aktivität werden in der Rohdatei gespeichert.
Als letzte Argumente können das Intervall (Standard: 10 Sekunden) und die Anzahl der Samples (Standard: unendlich) übergeben werden. Anstelle der Anzahl der Samples kann das Flag -S verwendet werden, um anzugeben, dass atop auf jeden Fall vor Mitternacht fertig sein sollte.

Eine Rohdatei kann mit dem Flag -r gefolgt vom Dateinamen erneut gelesen und visualisiert werden. Wenn kein Dateiname angegeben wird, wird die Datei /var/log/atop/atop_JJJJMMTT zur Eingabe geöffnet (wobei JJJJMMTT Ziffern sind, die den aktuellen Wert darstellen). Datum). Wenn ein Dateiname im Format JJJJMMTT angegeben wird (was ein beliebiges gültiges Datum darstellt), wird die Datei /var/log/atop/atop_JJJJMMTT geöffnet. Wenn ein Dateiname mit dem symbolischen Namen y angegeben wird, wird die tägliche Protokolldatei von gestern geöffnet (dies kann wiederholt werden, sodass „yyyy“ die Protokolldatei von vor vier Tagen angibt). Wenn der Dateiname - verwendet wird, wird stdin gelesen.
Die Samples aus der Datei können interaktiv angezeigt werden, indem Sie die Taste „t“ zum Anzeigen des nächsten Samples, die Taste „T“ zum Anzeigen des vorherigen Samples, die Taste „b“ zum Verzweigen zu einem bestimmten Zeitpunkt oder die Taste „r“ verwenden. um zum Anfang der Datei zurückzuspulen. Diese Tasten können sowohl im Textmodus als auch im Balkendiagrammmodus verwendet werden.
Wenn die Ausgabe in eine Datei oder Pipe umgeleitet wird, druckt atop alle Beispiele im einfachen ASCII-Format. Die Standardzeilenlänge beträgt in diesem Fall 80 Zeichen. Mit dem Flag -L gefolgt von einer alternativen Zeilenlänge werden mehr (oder weniger) Spalten angezeigt.
Mit dem Flag -b (Anfangszeit) und/oder -e (Endzeit) gefolgt von einem Zeitargument der Form [JJJJMMTT]hhmm, einem bestimmten Zeitraum innerhalb Die Rohdatei kann ausgewählt werden.

Jeden Tag um Mitternacht wird atop von den Unit-Dateien atop-rotate.timer und atop-rotate.service neu gestartet, um komprimierte Binärdaten darin zu schreiben die Datei /var/log/atop/atop_JJJJMMTT standardmäßig mit einem Intervall von 10 Minuten.
Darüber hinaus werden alle Rohdateien entfernt, die älter als 28 Tage sind (standardmäßig).
Die genannten Standardwerte können in der Datei /etc/default/atop außer Kraft gesetzt werden, die möglicherweise andere Werte für LOGOPTS (standardmäßig ohne Flag) und LOGINTERVAL< enthält (in Sekunden, standardmäßig 600), LOGGENERATIONS (in Tagen, standardmäßig 28) und LOGPATH (Verzeichnis, in dem Protokolldateien gespeichert werden).

Leider ist es nicht immer möglich, das Format der Rohdateien in neueren Versionen von atop kompatibel zu halten, insbesondere wenn viele neue Zähler gepflegt werden müssen. Daher wird das Programm atopconvert installiert, um eine Rohdatei, die mit einer älteren Version von atop erstellt wurde, in eine Rohdatei zu konvertieren, die von einer neueren Version von atop gelesen werden kann (weitere Einzelheiten finden Sie in der Manpage von atopconvert).

AUSGABEBESCHREIBUNG

Das erste Beispiel zeigt die Aktivität auf Systemebene seit dem Start (die verstrichene Zeit im Header zeigt die Zeit seit dem Start an).

Im Textmodus zeigt atop zunächst die Zeilen an, die sich auf die Aktivität auf Systemebene für jede Probe beziehen. Wenn eine bestimmte Systemressource während des Intervalls nicht verwendet wurde, wird die gesamte Zeile, die sich auf diese Ressource bezieht, unterdrückt. Daher kann die Anzahl der Linien auf Systemebene für jede Probe variieren.
Anschließend wird eine Liste der Prozesse angezeigt, die im letzten Intervall aktiv waren. Diese Liste ist standardmäßig nach CPU-Verbrauch sortiert, diese Reihenfolge kann jedoch mit den zuvor beschriebenen Schlüsseln geändert werden.

Müssen Werte atop angezeigt werden, die nicht in die Spaltenbreite passen, wird ein anderes Format verwendet. Wenn z.B. Ein CPU-Verbrauch von 233216 Millisekunden sollte in einer Spaltenbreite von 4 Positionen angezeigt werden, er wird als „233s“ (in Sekunden) angezeigt. Bei großen Speicherzahlen wird eine andere Einheit gewählt, wenn der Wert nicht passt (Mb statt Kb, Gb statt Mb, Tb statt Gb usw.). Für andere Werte wird eine Art Exponentenschreibweise verwendet (Wert 123456789 in einer Spalte mit 5 Positionen ergibt 123e6).

AUSGABEBESCHREIBUNG – SYSTEMEBENE

Die Informationen auf Systemebene im Textmodus bestehen aus den folgenden Ausgabezeilen:

PRC

Gesamtwerte auf Prozess- und Threadebene.
Diese Zeile enthält die gesamte CPU-Zeit, die im Systemmodus („sys“) und im Benutzermodus („user“) verbraucht wird, die Gesamtzahl der zu diesem Zeitpunkt vorhandenen Prozesse („#proc“) und die Gesamtzahl der zu diesem Zeitpunkt vorhandenen Threads Moment im Zustand 'running' ('#trun'), 'sleeping interruptible' ('#tslpi') und 'sleeping uninterruptible' ('#tslpu'), die Anzahl der Zombie-Prozesse ('#zombie'), die Anzahl der Klonsystemaufrufe („Klone“) und die Anzahl der Prozesse, die während des Intervalls („#exit“) beendet wurden, wenn die Prozessabrechnung verwendet wird. Anstelle von „#exit“ kann in der letzten Spalte angegeben werden, dass die Prozessabrechnung nicht aktiviert werden konnte („no procacct“).
Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.

CPU

CPU-Auslastung.
Für die Gesamtbelegung aller CPUs zusammen wird mindestens eine Zeile angezeigt.
Bei einem Mehrprozessorsystem wird für jeden einzelnen Prozessor (mit „CPU“ in Kleinbuchstaben) eine zusätzliche Zeile angezeigt, sortiert nach Aktivität. Inaktive CPUs werden standardmäßig nicht angezeigt. Die Zeilen, die die Belegung pro CPU anzeigen, enthalten die CPU-Nummer im Feld kombiniert mit dem Warteprozentsatz.

Jede Zeile enthält den Prozentsatz der CPU-Zeit, die im Kernelmodus von allen aktiven Prozessen („sys“) verbracht wurde, den Prozentsatz der CPU-Zeit, die im Benutzermodus („user“) für alle aktiven Prozesse verbraucht wurde (einschließlich Prozesse, die mit einem schönen Wert größer als ausgeführt werden). Null), der Prozentsatz der CPU-Zeit, die für die Interrupt-Verarbeitung ('irq') einschließlich Softirq aufgewendet wurde, der Prozentsatz der ungenutzten CPU-Zeit, während keine Prozesse auf Festplatten-E/A warteten ('idle'), und der Prozentsatz der ungenutzten CPU-Zeit während Mindestens ein Prozess wartete auf Festplatten-E/A („wait“).
Im Falle einer Belegung pro CPU: die CPU-Nummer und der Warteprozentsatz („w“) für diese CPU. Die Anzahl der Zeilen, die die Belegung pro CPU anzeigen, kann begrenzt werden.

Für virtuelle Maschinen zeigt der Steal-Prozentsatz („steal“) den Prozentsatz der CPU-Zeit an, der von anderen virtuellen Maschinen gestohlen wurde, die auf derselben Hardware ausgeführt werden.
Bei physischen Maschinen, die eine oder mehrere virtuelle Maschinen hosten, zeigt der Gastprozentsatz („Gast“) den Prozentsatz der von den virtuellen Maschinen genutzten CPU-Zeit an. Beachten Sie, dass sich dieser Prozentsatz mit dem Benutzerprozentsatz überschneidet!

Wenn PMC-Leistungsüberwachungsindikatoren von der CPU und dem Kernel unterstützt werden (und atop mit Root-Rechten ausgeführt wird), wird die Anzahl der Anweisungen pro CPU-Zyklus („ipc“) angezeigt. Das erste Beispiel zeigt immer den Wert „initial“, da die Zähler erst in dem Moment aktiviert werden, in dem atop gestartet wird.
Wenn der Prozentsatz der CPU-Auslastung hoch ist und der IPC kleiner als 1,0 ist, ist es wahrscheinlich, dass die CPU während der Befehlsausführung häufig auf Speicherzugriff wartet (größere CPU-Caches oder schnellerer Speicher können hilfreich sein, um die Leistung zu verbessern). ). Wenn der Prozentsatz der CPU-Auslastung hoch ist und der IPC größer als 1,0 ist, ist es wahrscheinlich, dass die CPU an Anweisungen gebunden ist (mehr/schnellere Kerne können hilfreich sein, um die Leistung zu verbessern).
Darüber hinaus wird pro CPU die effektive Anzahl der Zyklen („Zykl“) angezeigt. Dieser Wert kann die aktuelle CPU-Frequenz erreichen, wenn diese CPU zu 100 % ausgelastet ist. Wenn eine CPU im Leerlauf angehalten wird, kann die Anzahl der effektiven Zyklen (erheblich) niedriger sein als die aktuelle Frequenz.
Beachten Sie, dass in der CPU-Zeile für alle CPUs der durchschnittliche Befehlsdurchschnitt pro Zyklus und die Anzahl der Zyklen angezeigt wird.
Beachten Sie, dass das Lesen des Zykluszählers in virtuellen Maschinen (Gästen) zu Leistungsverzögerungen führen kann. Daher ist diese Metrik in virtuellen Maschinen standardmäßig deaktiviert. Mit dem Schlüsselwort „perfevents“ in der atoprc-Datei kann diese Metrik jedoch explizit auf „enable“ oder „disable“ gesetzt werden (siehe separate Manpage von atoprc).
Siehe auch: http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html

Bei der Frequenzskalierung beziehen sich alle zuvor genannten CPU-Prozentsätze auf die verwendete Skalierung der CPU während des Intervalls. Wenn eine CPU z.B. aktiv war 50 % im Benutzermodus während des Intervalls, während die Frequenzskalierung dieser CPU 40 % betrug, wurden im Benutzermodus nur 20 % der vollen Kapazität der CPU genutzt.
Falls das Kernelmodul „cpufreq_stats“ aktiv ist (nach der Ausgabe von „modprobe cpufreq_stats“), werden die durchschnittliche Häufigkeit ('avgf') und der durchschnittliche Skalierungsprozentsatz ('avgscal ') wird gezeigt. Ansonsten werden die aktuelle Frequenz ('curf') und der aktuelle Skalierungsprozentsatz ('curscal') zum Zeitpunkt der Probenentnahme angezeigt. Beachten Sie, dass in der CPU-Zeile für jede CPU Durchschnittswerte für Frequenz und Skalierung angezeigt werden.
Statistiken zur Frequenzskalierung werden nur für Systeme mit maximal 8 CPUs erfasst, da die Erfassung dieser Werte pro CPU sehr zeitaufwändig ist.

Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.

CPL

Informationen zur CPU-Auslastung.
Diese Zeile enthält die durchschnittlichen Auslastungszahlen, die die Anzahl der Threads widerspiegeln, die zur Ausführung auf einer CPU verfügbar sind (d. h. Teil der Runqueue) oder auf Festplatten-E/A warten. Diese Zahlen werden über 1 ('avg1'), 5 ('avg5') und 15 ('avg15') Minuten gemittelt.
Darüber hinaus werden die Anzahl der Kontextwechsel ('csw'), die Anzahl der bedienten Interrupts ('intr') und die Anzahl der verfügbaren CPUs angezeigt.

Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.

GPU

GPU-Auslastung (Nvidia).
Lesen Sie den Abschnitt GPU STATISTICS GATHERING in diesem Dokument, um Details zur Aktivierung des atopgpud-Daemons zu finden.

In der ersten Spalte jeder Zeile werden die Bus-ID (letzte neun Zeichen) und die GPU-Nummer angezeigt. Die folgenden Spalten zeigen den Prozentsatz der Zeit, in dem ein oder mehrere Kernel auf der GPU ausgeführt wurden („gpubusy“), den Prozentsatz der Zeit, in dem globaler (Geräte-)Speicher gelesen oder geschrieben wurde („membusy“), und den Prozentsatz der Speicherbelegung ('memocc'), der Gesamtspeicher ('total'), der Speicher, der zum Zeitpunkt der Probe verwendet wurde ('used'), der durchschnittliche Speicher, der während der Probezeit verwendet wurde ('usavg'), die Anzahl der Prozesse, die zum Zeitpunkt des Beispiels auf der GPU aktiv sind („#proc“), und der Typ der GPU.

Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.
Die Anzahl der Zeilen, die die GPUs anzeigen, kann begrenzt werden.

MEM

Speicherbelegung (zwei Zeilen).
Diese Zeilen enthalten die Gesamtmenge des physischen Speichers („tot“), die derzeit freie Speichermenge („free“), die Speichermenge, die als Seitencache verwendet wird, einschließlich des gesamten residenten gemeinsam genutzten Speichers („Cache“), die Menge an Speicher innerhalb des Seitencaches, die auf die Festplatte geleert werden muss („dirty“), die Menge an Speicher, die für Dateisystem-Metadaten verwendet wird („buff“), die Menge an Speicher, die für Kernel-Mallocs verwendet wird („slab“) , die Menge an Slab-Speicher, die zurückgewinnbar ist ('slrec'), die residente Größe des gemeinsam genutzten Speichers einschließlich tmpfs ('shmem'), die residente Größe des gemeinsam genutzten Speichers ('shrss'), die Menge an gemeinsam genutztem Speicher, die derzeit ausgelagert wird ( 'shswp'), die Menge an Speicher, die derzeit für Seitentabellen verwendet wird ('pgtab'), die Anzahl der NUMA-Knoten in diesem System ('numnode'), die Menge an Speicher, die derzeit vom Balloon-Treiber von VMware beansprucht wird (' vmbal‘), die Speichermenge, die derzeit vom ARC (Cache) von ZFSonlinux beansprucht wird (‘zfarc‘), die Speichermenge, die für riesige Seiten beansprucht wird (‘hptot‘), die Menge an riesigem Seitenspeicher tatsächlich verwendet werden ('hpuse'), die Menge an Speicher, die für TCP-Sockets verwendet wird ('tcps'), und die Menge an Speicher, die für UDP-Sockets verwendet wird ('udps').

Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.

SWP

Beruf tauschen und Informationen überbelegen.
Diese Zeile enthält die Gesamtmenge des Swap-Speicherplatzes auf der Festplatte („tot“), die Menge des freien Swap-Speicherplatzes („free“), die Größe des Swap-Cache („swcac“) und die Gesamtgröße des komprimierten Speichers in zswap ( 'zpool'), die Gesamtgröße der in zswap gespeicherten komprimierten Seiten ('zstor'), die Gesamtgröße des für KSM verwendeten Speichers ('ksuse', d. h. gemeinsam genutzt) und die Gesamtgröße des gespeicherten (deduplizierten) Speichers. von KSM ('kssav', d. h. Teilen).
Darüber hinaus wird der zugesagte virtuelle Speicherbereich ('vmcom') und die maximale Grenze des zugesicherten Speicherplatzes ('vmlim', standardmäßig Swap-Größe plus 50 % der Speichergröße) angezeigt. Der zugesicherte Speicherplatz ist der reservierte virtuelle Speicherplatz für alle Zuweisungen von privatem Speicherplatz für Prozesse. Der Kernel überprüft nur, ob der zugesicherte Speicherplatz das Limit überschreitet, wenn eine strikte Überbelegungsbehandlung konfiguriert ist (vm.overcommit_memory ist 2).

LLC

Last-Level-Cache mit CPU-Informationen.
Diese Zeile enthält die gesamte Speicherbandbreite von LLC („tot“), die Bandbreite des lokalen NUMA-Knotens („loc“) und den Prozentsatz der verwendeten LLC („LLCXX YY%“).

Beachten Sie, dass diese Funktion vom Pseudodateisystem „resctrl“ abhängt. Stellen Sie sicher, dass der Kernel mit der entsprechenden Konfiguration erstellt wurde und achten Sie darauf, dass das Pseudodateisystem gemountet ist:

mount -t resctrl resctrl -o mba_MBps /sys/fs/resctrl (auf Intel)
mount -t resctrl resctrl -o cdp /sys/fs/resctrl (auf AMD)

NUM

Speichernutzung pro NUMA-Knoten (wird für einen einzelnen NUMA-Knoten nicht angezeigt).
Diese Zeile zeigt die Gesamtmenge des physischen Speichers dieses Knotens („tot“), die Menge des freien Speichers („free“), die Speichermenge für zwischengespeicherte Dateidaten („file“) und die geänderten zwischengespeicherten Dateidaten („dirty“) '), kürzlich verwendeter Speicher ('activ'), weniger kürzlich verwendeter Speicher ('inact'), Speicher, der für Kernel-Mallocs verwendet wird ('slab'), die Menge an Slab-Speicher, die zurückgewinnbar ist ('slrec'), gemeinsam genutzter Speicher einschließlich tmpfs ('shmem'), Gesamtzahl der riesigen Seiten ('hptot') und Fragmentierungsprozentsatz ('frag').

NUC

CPU-Auslastung pro NUMA-Knoten (wird für einen einzelnen NUMA-Knoten nicht angezeigt).
Diese Zeile zeigt die Auslastungsprozentsätze aller CPUs im Zusammenhang mit diesem NUMA-Knoten, kategorisiert nach Systemmodus („sys“), Benutzermodus („user“), Benutzermodus für Niced-Prozesse („niced“) und Leerlaufmodus („idle“). ), Wartemodus ('w' mit vorangestellter Knotennummer), IRQ-Modus ('irq'), Softirq-Modus ('sirq'), Steal-Modus ('steal') und Gastmodus ('guest') überlappender Benutzermodus .

PAG

Paging-Häufigkeit.
Diese Zeile enthält die Anzahl der gescannten Seiten („scan“), da der freie Speicher unter einen bestimmten Schwellenwert fällt, und die Anzahl der zurückgewonnenen Seiten („steal“), da der freie Speicher unter einen bestimmten Schwellenwert fällt Anzahl der Versuche des Kernels, Seiten aufgrund eines dringenden Bedarfs zurückzugewinnen („Stall“), Anzahl der Prozessverzögerungen, um eine Speicherkomprimierung auszuführen, um große Seiten zuzuweisen („compact“), Anzahl der migrierten NUMA-Seiten („numamig“) und die Gesamtzahl der erfolgreich migrierten Speicherseiten, z. B. zwischen NUMA-Knoten oder zur Komprimierung („Migrate“) angezeigt.
Außerdem die Anzahl der Speicherseiten, die das System von Blockgeräten gelesen hat („pgin“), die Anzahl der Speicherseiten, die das System auf Blockgeräte geschrieben hat („pgout“), die Anzahl der Speicherseiten, die das System aus dem Swap-Bereich gelesen hat („swin“). ), die Anzahl der Speicherseiten, die das System in den Auslagerungsbereich geschrieben hat ('swout'), und die Anzahl der Kills aufgrund von Speichermangel ('oomkill').

PSI

Informationen zum Druckstillstand.
Diese Zeile enthält Prozentsätze zum Ressourcendruck im Zusammenhang mit CPU, Speicher und E/A. Bestimmte Prozentsätze beziehen sich auf „einige“, was bedeutet, dass einige Prozesse/Threads aufgrund einer Ressourcenüberlastung verzögert wurden. Andere Prozentsätze beziehen sich auf „voll“, was einen Verlust des Gesamtdurchsatzes aufgrund einer Ressourcenüberlastung bedeutet.
Die Werte „cpusome“, „memsome“, „memfull“, „iosome“ und „iofull“ zeigen den Druckprozentsatz während des gesamten Intervalls.
Die Werte „cs“ (cpu some), „ms“ (memory some), „mf“ (memory full), „is“ (I/O some) und „if“ (I/O full) zeigen jeweils drei Prozentsätze getrennt an durch Schrägstriche: Druckprozentsatz in den letzten 10, 60 und 300 Sekunden.

LVM/MDD/DSK

Logisches Volume/mehrere Geräte/Festplattenauslastung.
Pro aktiver Einheit wird eine Zeile erstellt, sortiert nach Einheitenaktivität. Diese Zeile zeigt den Namen (z. B. VolGroup00-lvtmp für ein logisches Volume oder sda für eine Festplatte) und den Prozentsatz der verstrichenen Zeit, in der E/A-Anforderungen an das Gerät ausgegeben wurden („beschäftigt“) (beachten Sie dies bei Geräten, die Anforderungen bedienen). parallel, wie RAID-Arrays, SSD und NVMe, diese Zahl spiegelt nicht deren Leistungsgrenzen wider), die Anzahl der ausgegebenen Leseanforderungen („read“), die Anzahl der ausgegebenen Schreibanforderungen („write“) und die Anzahl der Verwerfungen ausgegebene Anfragen ('discrd'), sofern von der Kernel-Version unterstützt, die Anzahl der KiBytes pro Lesevorgang ('KiB/r'), die Anzahl der KiBytes pro Schreibvorgang ('KiB/w'), die Anzahl der KiBytes pro Verwerfen ('KiB /d‘), sofern von der Kernel-Version unterstützt, die Anzahl der MiByte pro Sekunde Durchsatz für Lesevorgänge (‚MBr/s‘), die Anzahl der MiByte pro Sekunde Durchsatz für Schreibvorgänge (‘MBw/s‘), an den Gerätetreiber ausgegebene Anforderungen aber nicht abgeschlossen ('inflt'), die durchschnittliche Warteschlangentiefe im ausgelasteten Zustand ('avq') und die durchschnittliche Anzahl an Millisekunden, die eine Anfrage ('avio') für Suche, Latenz und Datenübertragung benötigt.
Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.

Die Anzahl der Zeilen, die die Einheiten anzeigen, kann pro Klasse (LVM, MDD oder DSK) mit der Taste „l“ oder statisch begrenzt werden (siehe separate Manpage von atoprc). Wenn Sie für eine bestimmte Klasse den Wert 0 angeben, werden für diese Klasse keine Zeilen mehr angezeigt.

NFM

Bereitstellung des Netzwerkdateisystems (NFS) auf der Clientseite.
Für jedes NFS-gemountete Dateisystem wird eine Zeile angezeigt, die das gemountete Serververzeichnis, den Namen des Servers („srv“), die Gesamtzahl der physisch vom Server gelesenen Bytes („read“) und die Gesamtzahl der Bytes enthält physisch auf den Server geschrieben („write“). Die Datenübertragung ist unterteilt in die Anzahl der über normale read()-Systemaufrufe gelesenen Bytes („nread“), die Anzahl der über normale read()-Systemaufrufe geschriebenen Bytes („nwrit“) und die Anzahl der über direkte I/O gelesenen Bytes. O („dread“), die Anzahl der über direkte E/A geschriebenen Bytes („dwrit“), die Anzahl der über speicherzugeordnete E/A-Seiten gelesenen Bytes („mread“) und die Anzahl der über speicherzugeordnete Bytes geschriebenen Bytes E/A-Seiten („mwrit“).

NFC

Clientseitige NFS-Zähler (Network Filesystem).
Diese Zeile enthält die Anzahl der von lokalen Prozessen ausgegebenen RPC-Aufrufe ('rpc'), die Anzahl der an den NFS-Server ausgegebenen Lese-RPC-Aufrufe ('read') und Schreib-RPC-Aufrufe ('rpwrite'), die Anzahl der RPC-Aufrufe erneut übertragen ('retxmit') und die Anzahl der Autorisierungsaktualisierungen ('autref').

NFS

Serverseitige NFS-Zähler (Network Filesystem).
Diese Zeile enthält die Anzahl der von NFS-Clients empfangenen RPC-Aufrufe ('rpc'), die Anzahl der empfangenen Lese-RPC-Aufrufe ('cread'), die Anzahl der empfangenen Schreib-RPC-Aufrufe ('cwrit') und die Anzahl der Megabyte/Sekunde zurückgegebene Leseanforderungen von Clients ('MBcr/s'), die Anzahl der Megabytes/Sekunde, die in Schreibanforderungen von Clients übergeben wurden ('MBcw/s'), die Anzahl der über TCP verarbeiteten Netzwerkanforderungen ('nettcp'), die Anzahl der über UDP bearbeiteten Netzwerkanfragen ('netudp'), der Anzahl der Antwort-Cache-Treffer ('rchits'), der Anzahl der Antwort-Cache-Fehltreffer ('rcmiss') und der Anzahl der nicht zwischengespeicherten Anfragen ('rcnoca'). Darüber hinaus gibt es einige Fehlerzähler, die die Anzahl der Anfragen mit einem fehlerhaften Format ('badfmt') oder einer fehlerhaften Autorisierung ('badaut') anzeigen, und einen Zähler, der die Anzahl fehlerhafter Clients angibt ('badcln').

NET

Netzwerknutzung (TCP/IP).
Es wird eine Zeile für die Aktivität der Transportschicht (TCP und UDP), eine Zeile für die IP-Schicht und eine Zeile pro aktiver Schnittstelle angezeigt.
Für die Transportschicht werden Zähler angezeigt, die die Anzahl der empfangenen TCP-Segmente einschließlich der fehlerhaft empfangenen Segmente („tcpi“), die Anzahl der übertragenen TCP-Segmente ohne diejenigen, die nur erneut übertragene Oktette enthalten („tcpo“), und die Anzahl der empfangenen UDP-Datagramme betreffen ('udpi'), die Anzahl der übertragenen UDP-Datagramme ('udpo'), die Anzahl der aktiven TCP-Öffnungen ('tcpao'), die Anzahl der passiven TCP-Öffnungen ('tcppo'), die Anzahl der TCP-Ausgabe-Neuübertragungen (' tcprs'), die Anzahl der TCP-Eingabefehler ('tcpie'), die Anzahl der TCP-Ausgabe-Resets ('tcpor'), die Anzahl der UDP-Keine-Ports ('udpnp') und die Anzahl der UDP-Eingabefehler ('udpie ').
Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.
Diese Zähler beziehen sich auf IPv4 und IPv6 zusammen.

Für die IP-Schicht werden Zähler über die Anzahl der von Schnittstellen empfangenen IP-Datagramme angezeigt, einschließlich der fehlerhaft empfangenen ('ipi'), die Anzahl der IP-Datagramme, die lokale Protokolle höherer Schichten zur Übertragung angeboten haben ('ipo'), die Anzahl der empfangenen IP-Datagramme, die an andere Schnittstellen weitergeleitet wurden ('ipfrw'), die Anzahl der IP-Datagramme, die an lokale Protokolle höherer Schichten übermittelt wurden ('deliv'), die Anzahl der empfangenen ICMP-Datagramme ('icmpi') und die Anzahl der übertragenen ICMP-Datagramme ('icmpo').
Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.
Diese Zähler beziehen sich auf IPv4 und IPv6 zusammen.

Für jede aktive Netzwerkschnittstelle wird eine Zeile angezeigt, sortiert nach der Schnittstellenaktivität. In dieser Zeile werden in der ersten Spalte der Name der Schnittstelle und deren Belegungsprozentsatz angezeigt. Der Auslastungsprozentsatz für Halbduplex wird durch Vergleich der Schnittstellengeschwindigkeit mit der Anzahl der pro Sekunde gesendeten und empfangenen Bits bestimmt; Bei Vollduplex wird die Schnittstellengeschwindigkeit mit dem höchsten der gesendeten oder empfangenen Bits verglichen. Wenn die Schnittstellengeschwindigkeit nicht ermittelt werden kann (z. B. für die Loopback-Schnittstelle), wird „---“ anstelle des Prozentsatzes angezeigt.
Darüber hinaus die Anzahl der empfangenen Pakete ('pcki'), die Anzahl der übertragenen Pakete ('pcko'), die Leitungsgeschwindigkeit der Schnittstelle ('sp'), die effektive Anzahl der pro Sekunde empfangenen Bits ('si'), die effektive Anzahl der pro Sekunde übertragenen Bits ('so'), die Anzahl der Kollisionen ('coll'), die Anzahl der empfangenen Multicast-Pakete ('mlti'), die Anzahl der Fehler beim Empfang eines Pakets ('erri'), die Anzahl der Fehler beim Übertragen eines Pakets („erro“), die Anzahl der verworfenen empfangenen Pakete („drpi“) und die Anzahl der verworfenen übertragenen Pakete („drpo“).
Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.
Die Anzahl der Zeilen, die die Netzwerkschnittstellen anzeigen, kann begrenzt werden.

IFB

Infiniband-Nutzung.
Für jeden aktiven Infiniband-Port wird eine Zeile angezeigt, sortiert nach Aktivität. In dieser Zeile werden in der ersten Spalte der Name des Ports und sein Belegungsprozentsatz angezeigt. Der Auslastungsprozentsatz wird ermittelt, indem das höchste der gesendeten oder empfangenen Bits während des Intervalls genommen, dieser Wert mit der Anzahl der Lanes multipliziert und mit der maximalen Portgeschwindigkeit verglichen wird.
Darüber hinaus die Anzahl der empfangenen Pakete geteilt durch die Anzahl der Lanes ('pcki'), die Anzahl der gesendeten Pakete geteilt durch die Anzahl der Lanes ('pcko'), die maximale Leitungsgeschwindigkeit ('sp') und die effektive Anzahl an Bits pro Sekunde empfangene Daten ('si'), die effektive Anzahl der pro Sekunde übertragenen Bits ('so') und die Anzahl der Spuren ('lanes').
Wenn die Bildschirmbreite nicht alle dieser Zähler zulässt, wird nur eine relevante Teilmenge angezeigt.
Die Anzahl der Zeilen, die die Infiniband-Ports anzeigen, kann begrenzt werden.

AUSGABEBESCHREIBUNG – PROZESSEBENE

Im Anschluss an die Informationen auf Systemebene wird eine Liste der Prozesse im Textmodus angezeigt, deren Ressourcenauslastung sich im letzten Intervall geändert hat. Diese Prozesse haben möglicherweise CPU-Zeit beansprucht oder Festplatten- oder Netzwerkanforderungen ausgegeben. Allerdings wird ein Prozess auch dann angezeigt, wenn ein Teil davon aufgrund von Speichermangel ausgelagert wurde (während sich der Prozess selbst im Ruhezustand befand).

Pro Prozess können die folgenden Felder angezeigt werden (in alphabetischer Reihenfolge), abhängig vom aktuellen Ausgabemodus, wie im Abschnitt INTERAKTIVE BEFEHLE beschrieben, und abhängig von der aktuellen Breite Ihres Fensters:

AVGRSZ

Die durchschnittliche Größe einer Leseaktion auf der Festplatte.

AVGWSZ

Die durchschnittliche Größe einer Schreibaktion auf der Festplatte.

BANDWI

Gesamtbandbreite für empfangene TCP- und UDP-Pakete, die von diesem Prozess verbraucht werden (Bits pro Sekunde). Dieser Wert kann mit dem Wert 'si' auf Schnittstellenebene (verwendete Bandbreite pro Schnittstelle) verglichen werden.
Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

BANDWO

Gesamtbandbreite für gesendete TCP- und UDP-Pakete, die von diesem Prozess verbraucht werden (Bits pro Sekunde). Dieser Wert kann mit dem Wert „so“ auf Schnittstellenebene (verwendete Bandbreite pro Schnittstelle) verglichen werden.
Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

BDELAY

Aggregierte Block-E/A-Verzögerung, d. h. Zeit, die auf Festplatten-E/A gewartet wird.

CGROUP

Pfadname der Kontrollgruppe (Version 2), zu der dieser Prozess gehört. Dieser Pfadname ist relativ zum cgroup-Stammverzeichnis, das normalerweise „/sys/fs/cgroup“ ist.

CID

Container-ID (Docker) mit 12 hexadezimalen Ziffern, die sich auf den Container bezieht, in dem der Prozess/Thread ausgeführt wird. Wenn im letzten Intervall ein Prozess gestartet und beendet wurde, wird ein „?“ angezeigt. wird angezeigt, da die Container-ID nicht Teil des Standard-Prozessabrechnungsdatensatzes ist.

CMD

Der Name des Prozesses. Dieser Name kann von „kleiner/größer als“-Zeichen ('') umgeben sein, was bedeutet, dass der Prozess im letzten Intervall abgeschlossen wurde.
Hinter dem Kürzel „CMD“ in der Kopfzeile wird die aktuelle Seitenzahl und die Gesamtseitenzahl der Prozess-/Threadliste angezeigt.

COMMAND-LINE

Die vollständige Befehlszeile des Prozesses (einschließlich Argumente). Wenn die Länge der Befehlszeile die Länge der Bildschirmzeile überschreitet, können die Pfeiltasten -> und <- zum horizontalen Scrollen verwendet werden.
Hinter dem Verb „COMMAND-LINE“ in der Kopfzeile wird die aktuelle Seitenzahl und die Gesamtseitenzahl der Prozess-/Threadliste angezeigt.

CPU

Der Belegungsprozentsatz dieses Prozesses bezogen auf die verfügbare Kapazität für diese Ressource auf Systemebene.

CPUMAX

Der „cpu.max“-Wert der Kontrollgruppe (Version 2), zu der dieser Prozess gehört, berechnet als Prozentsatz einer CPU.

CPUMAXR

Der restriktivste (d. h. effektivste) „cpu.max“-Wert, der durch die oberen Verzeichnisse der Kontrollgruppe (Version 2) definiert wird, zu der dieser Prozess gehört, berechnet als Prozentsatz einer CPU.

CPUNR

Die Identifikation der CPU, auf der der (Haupt-)Thread ausgeführt wird oder kürzlich ausgeführt wurde.

CPUWGT

Der „cpu.weight“-Wert der cgroup (Version 2), zu der dieser Prozess gehört.

CTID

Container-ID (OpenVZ). Wenn im letzten Intervall ein Prozess gestartet und beendet wurde, wird ein „?“ angezeigt. wird angezeigt, da die Container-ID nicht Teil des Standard-Prozessabrechnungsdatensatzes ist.

DSK

Der Auslastungsprozentsatz dieses Prozesses im Verhältnis zur Gesamtlast, die von allen Prozessen erzeugt wird (d. h. die gesamten Festplattenzugriffe aller Prozesse während des letzten Intervalls).
Diese Informationen werden angezeigt, wenn pro Prozess „Storage Accounting“ im Kernel aktiv ist.

EGID

Effektive Gruppen-ID, unter der dieser Prozess ausgeführt wird.

ENDATE

Datum, an dem der Vorgang abgeschlossen wurde. Wenn der Prozess noch läuft, wird in diesem Feld „aktiv“ angezeigt.

ENTIME

Zeitpunkt, zu dem der Vorgang abgeschlossen wurde. Wenn der Prozess noch läuft, wird in diesem Feld „aktiv“ angezeigt.

ENVID

Virtuelle Umgebung identifiziert (nur OpenVZ).

EUID

Effektive Benutzer-ID, unter der dieser Prozess ausgeführt wird.

EXC

Der Exit-Code eines beendeten Prozesses (zweite Position der Spalte „ST“ ist E) oder die fatale Signalnummer (zweite Position der Spalte „ST“ ist S oder C).

FSGID

Dateisystem-Gruppen-ID, unter der dieser Prozess ausgeführt wird.

FSUID

Benutzer-ID des Dateisystems, unter dem dieser Prozess ausgeführt wird.

GPU

Wenn der atopgpud-Daemon nicht mit Root-Berechtigungen ausgeführt wird, spiegelt der GPU-Prozentsatz den Prozentsatz der GPU-Speicherbelegung wider (der Speicher aller GPUs beträgt 100 %).
Wenn der atopgpud-Daemon mit Root-Berechtigungen ausgeführt wird, spiegelt der GPU-Prozentsatz den GPU-Auslastungsprozentsatz wider.

GPUBUSY

Auslastungsprozentsatz auf allen GPUs (eine GPU ist 100 %).
Wenn der atopgpud-Daemon nicht mit Root-Rechten ausgeführt wird, ist dieser Wert nicht verfügbar.

GPUNUMS

Durch Kommas getrennte Liste der GPUs, die vom Prozess während des Intervalls verwendet werden. Wenn die durch Kommas getrennte Liste die Breite der Spalte überschreitet, wird ein Hexadezimalwert angezeigt.

LOCKSZ

Die virtuelle Speichermenge, die von diesem Prozess (oder Benutzer) gesperrt (d. h. nicht austauschbar) ist.

MAJFLT

Die Anzahl der von diesem Prozess ausgegebenen Seitenfehler, die durch Erstellen/Laden der angeforderten Speicherseite behoben wurden.

MEM

Der Belegungsprozentsatz dieses Prozesses bezogen auf die verfügbare Kapazität für diese Ressource auf Systemebene.

MEMAVG

Durchschnittliche Speicherbelegung während des Intervalls auf allen verwendeten GPUs.

MEMBUSY

Ausgelasteter Prozentsatz des Speichers auf allen GPUs (eine GPU ist 100 %), d. h. die Zeit, die für Lese- und Schreibzugriffe auf den Speicher benötigt wird.
Wenn der atopgpud-Daemon nicht mit Root-Rechten ausgeführt wird, ist dieser Wert nicht verfügbar.

MEMMAX

Der „memory.max“-Wert der Kontrollgruppe (Version 2), zu der dieser Prozess gehört.

MEMNOW

Speicherbelegung zum Zeitpunkt der Stichprobe auf allen verwendeten GPUs.

MMMAXR

Der restriktivste (d. h. effektivste) „memory.max“-Wert, der durch die oberen Verzeichnisse der cgroup (Version 2) definiert wird, zu der dieser Prozess gehört.

MINFLT

Die Anzahl der von diesem Prozess ausgegebenen Seitenfehler, die durch Zurückfordern der angeforderten Speicherseite aus der Liste der freien Seiten behoben wurden.

NET

Der Auslastungsprozentsatz dieses Prozesses im Verhältnis zur Gesamtlast, die von allen Prozessen erzeugt wird (d. h. verbrauchte Netzwerkbandbreite aller Prozesse während des letzten Intervalls).
Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

NICE

Die mehr oder weniger statische Priorität, die einem Prozess auf einer Skala von -20 (hohe Priorität) bis +19 (niedrige Priorität) gegeben werden kann.

NIVCSW

Anzahl der unfreiwilligen Kontextwechsel des Prozesses/Threads für den Fall, dass die Zeitscheibe abgelaufen ist.

NPROCS

Die Anzahl der für diesen Benutzer oder dieses Programm kumulierten aktiven und beendeten Prozesse.

NVCSW

Häufigkeit, mit der der Prozess/Thread im Falle eines blockierenden Systemaufrufs freiwillig in den Kontext gewechselt wurde, z. B. um auf den Abschluss einer E/A-Operation zu warten.

PID

Prozess ID. Wenn im letzten Intervall ein Prozess gestartet und beendet wurde, wird ein „?“ angezeigt. wird angezeigt, da die Prozess-ID nicht Teil des Standardprozessabrechnungsdatensatzes ist.

POLI

Die Richtlinien „norm“ (normal, also SCHED_OTHER), „btch“ (batch) und „idle“ beziehen sich auf Timesharing-Prozesse. Die Richtlinien „fifo“ (SCHED_FIFO) und „rr“ (Round Robin, also SCHED_RR) beziehen sich auf Echtzeitprozesse.

PPID

Übergeordnete Prozess-ID. Wenn ein Prozess im letzten Intervall gestartet und beendet wurde, wird der Wert 0 angezeigt, da die übergeordnete Prozess-ID nicht Teil des Standardprozessabrechnungsdatensatzes ist.

PRI

Die Priorität des Prozesses reicht von 0 (höchste Priorität) bis 139 (niedrigste Priorität). Die Priorität 0 bis 99 wird für Echtzeitprozesse verwendet (feste Priorität unabhängig von ihrem Verhalten) und die Priorität 100 bis 139 für Timesharing-Prozesse (variable Priorität abhängig von ihrem aktuellen CPU-Verbrauch und dem netten Wert).

PSIZE

Die proportionale Speichergröße dieses Prozesses (oder Benutzers).
Jeder Prozess teilt den residenten Speicher mit anderen Prozessen. Z.B. Wenn ein bestimmtes Programm mehrmals gestartet wird, werden die Codepages (Texte) nur einmal in den Speicher geladen und von allen Inkarnationen gemeinsam genutzt. Außerdem wird der Code gemeinsam genutzter Bibliotheken von allen Prozessen gemeinsam genutzt, die diese gemeinsam genutzte Bibliothek verwenden, ebenso wie gemeinsam genutzter Speicher und speicherzugeordnete Dateien. Für die PSIZE-Berechnung eines Prozesses wird der residente Speicher eines Prozesses, der mit anderen Prozessen geteilt wird, durch die Anzahl der Sharer geteilt. Das bedeutet, dass jeder Prozess einen proportionalen Teil dieses Speichers ausmacht. Die Akkumulation der PSIZE-Werte aller Prozesse im System gibt einen zuverlässigen Eindruck vom gesamten residenten Speicher, der von allen Prozessen verbraucht wird.
Da das Sammeln aller Werte, die zur Berechnung der PSIZE erforderlich sind, eine sehr zeitaufwändige Aufgabe ist, sollte die Taste „R“ (oder das Flag „-R“) aktiv sein. Das Sammeln dieser Werte erfordert auch Superuser-Berechtigungen (andernfalls wird in der Ausgabe „?K“ angezeigt).
Wenn ein Prozess im letzten Intervall abgeschlossen wurde, wird kein Wert angezeigt, da die proportionale Speichergröße nicht Teil des Standard-Prozessabrechnungsdatensatzes ist.

RDDSK

Die Lesedaten werden physisch auf der Festplatte übertragen (das Lesen aus dem Festplatten-Cache wird daher nicht berücksichtigt).
Leider aggregiert der Kernel beim Beenden die Datenübertragung eines Prozesses mit der Datenübertragung seines übergeordneten Prozesses, sodass Sie möglicherweise Übertragungen für (übergeordnete) Prozesse wie cron, bash oder init sehen, die nicht wirklich von ihnen ausgegeben werden.

RDELAY

Runqueue-Verzögerung, d. h. Zeit, die mit dem Warten auf eine Runqueue verbracht wird.

RGID

Die tatsächliche Gruppen-ID, unter der der Prozess ausgeführt wird.

RGROW

Die Menge an residentem Speicher, die der Prozess im letzten Intervall vergrößert hat. Ein residentes Wachstum kann durch das Berühren von Speicherseiten verursacht werden, die zuvor nicht physisch erstellt/geladen wurden (Load-on-Demand). Beachten Sie, dass ein Einwohnerwachstum auch negativ sein kann, z.B. wenn ein Teil des Prozesses aufgrund von Speichermangel ausgelagert wird oder wenn der Prozess dynamisch zugewiesenen Speicher freigibt. Für einen Prozess, der im letzten Intervall begonnen hat, spiegelt das Residentwachstum die gesamte Residentgröße des Prozesses zu diesem Zeitpunkt wider.
Wenn ein Prozess während des letzten Intervalls abgeschlossen wurde, wird kein Wert angezeigt, da die residente Speicherbelegung nicht Teil des standardmäßigen Prozessabrechnungsdatensatzes ist.

RNET

Die Anzahl der von diesem Prozess empfangenen TCP- und UDP-Pakete. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ installiert ist.
Wenn ein Prozess im letzten Intervall abgeschlossen wurde, wird kein Wert angezeigt, da Netzwerkzähler nicht Teil des standardmäßigen Prozessabrechnungsdatensatzes sind.

RSIZE

Die gesamte von diesem Prozess (oder Benutzer) verbrauchte residente Speichernutzung. Beachten Sie, dass die RSIZE eines Prozesses den gesamten von diesem Prozess verwendeten residenten Speicher umfasst, auch wenn bestimmte Speicherteile mit anderen Prozessen geteilt werden (siehe auch die Erklärung von PSIZE).
Wenn ein Prozess während des letzten Intervalls abgeschlossen wurde, wird kein Wert angezeigt, da die residente Speicherbelegung nicht Teil des standardmäßigen Prozessabrechnungsdatensatzes ist.

RTPR

Echtzeitpriorität gemäß POSIX-Standard. Der Wert kann 0 für einen Timesharing-Prozess sein (Richtlinie „Norm“, „btch“ oder „idle“) oder reicht von 1 (niedrigster Wert) bis 99 (höchster Wert) für einen Echtzeitprozess (Richtlinie „rr“ oder „fifo“).

RUID

Die tatsächliche Benutzer-ID, unter der der Prozess ausgeführt wird.

S

Der aktuelle Status des (Haupt-)Threads: „R“ für „Running“ (wird gerade verarbeitet oder befindet sich in der Runqueue), „S“ für „Interruptable“ im Ruhezustand (auf das Eintreten eines Ereignisses warten), „D“ für „Nicht unterbrechbar im Ruhezustand“, „Z ' für Zombie (wartet darauf, mit seinem übergeordneten Prozess synchronisiert zu werden), 'T' für gestoppt (angehalten oder verfolgt), 'W' für Auslagerung und 'E' (Exit) für Prozesse, die im letzten Intervall abgeschlossen wurden.

SGID

Die gespeicherte Gruppen-ID des Prozesses.

SNET

Die Anzahl der von diesem Prozess übertragenen TCP- und UDP-Pakete. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

ST

Der Status eines Prozesses.
Die erste Position gibt an, ob der Prozess im letzten Intervall gestartet wurde (der Wert N bedeutet „neuer Prozess“).

Die zweite Position gibt an, ob der Vorgang im letzten Intervall abgeschlossen wurde.
Der Wert E bedeutet „Beenden“ aus eigener Initiative des Prozesses; Der Exit-Code wird in der Spalte „EXC“ angezeigt.
Der Wert S bedeutet, dass der Prozess durch ein Signal unfreiwillig beendet wurde; Die Signalnummer wird in der Spalte „EXC“ angezeigt.
Der Wert C bedeutet, dass der Prozess unfreiwillig durch ein Signal beendet wurde, wodurch ein Core-Dump in seinem aktuellen Verzeichnis erstellt wurde; Die Signalnummer wird in der Spalte „EXC“ angezeigt.

STDATE

Das Startdatum des Prozesses.

STTIME

Die Startzeit des Prozesses.

SUID

Die gespeicherte Benutzer-ID des Prozesses.

SWPMAX

Der „memory.swap.max“-Wert der Kontrollgruppe (Version 2), zu der dieser Prozess gehört.

SWAPSZ

Der von diesem Prozess (oder Benutzer) verbrauchte Auslagerungsspeicher.

SWMAXR

Der restriktivste (d. h. effektivste) „memory.swap.max“-Wert, der durch die oberen Verzeichnisse der cgroup (Version 2) definiert wird, zu der dieser Prozess gehört.

SYSCPU

CPU-Zeitverbrauch dieses Prozesses im Systemmodus (Kernelmodus), normalerweise aufgrund der Verarbeitung von Systemaufrufen.

TCPRASZ

Die durchschnittliche Größe eines empfangenen TCP-Puffers in Bytes. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

TCPRCV

Die Anzahl der für diesen Prozess empfangenen TCP-Pakete. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

TCPSASZ

Die durchschnittliche Größe eines übertragenen TCP-Puffers in Bytes. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

TCPSND

Die Anzahl der für diesen Prozess übertragenen TCP-Pakete. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

THR

Gesamtzahl der Threads in diesem Prozess. Alle zugehörigen Threads sind in einer Thread-Gruppe enthalten, die durch atop als eine Zeile oder als separate Zeile dargestellt wird, wenn die Taste „y“ (oder das Flag „-y“) aktiv ist.

Auf Linux 2.4-Systemen ist es kaum möglich festzustellen, welche Threads (also Prozesse) zur gleichen Thread-Gruppe gehören. Jeder Thread wird durch atop als separate Zeile dargestellt.

TID

Thread-ID. Alle Threads innerhalb eines Prozesses laufen mit derselben PID, aber mit einer anderen TID. Dieser Wert wird für einzelne Threads in Multithread-Prozessen angezeigt (bei Verwendung des Schlüssels „y“).

TRUN

Anzahl der Threads innerhalb dieses Prozesses, die sich im Status „running“ (R) befinden.

TSLPI

Anzahl der Threads innerhalb dieses Prozesses, die sich im Zustand „Unterbrechbarer Ruhezustand“ (S) befinden.

TSLPU

Anzahl der Threads innerhalb dieses Prozesses, die sich im Zustand „unterbrechungsfreier Ruhezustand“ (D) befinden.

UDPRASZ

Die durchschnittliche Größe eines empfangenen UDP-Pakets in Bytes. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

UDPRCV

Die Anzahl der von diesem Prozess empfangenen UDP-Pakete. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

UDPSASZ

Die durchschnittliche Größe eines übertragenen UDP-Pakets in Bytes. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

UDPSND

Die Anzahl der von diesem Prozess übertragenen UDP-Pakete. Diese Informationen werden nur angezeigt, wenn das Kernelmodul „netatop“ geladen ist.

USRCPU

CPU-Zeitverbrauch dieses Prozesses im Benutzermodus aufgrund der Verarbeitung des eigenen Programmtextes.

VDATA

Die Größe des virtuellen Speichers der von diesem Prozess verwendeten privaten Daten (einschließlich Heap- und gemeinsam genutzte Bibliotheksdaten).

VGROW

Die Menge an virtuellem Speicher, die der Prozess im letzten Intervall vergrößert hat. Ein virtuelles Wachstum kann z.B. durch Ausgeben eines malloc() oder Anhängen eines gemeinsam genutzten Speichersegments. Beachten Sie, dass ein virtuelles Wachstum auch negativ sein kann, z.B. Ausgeben eines free() oder Trennen eines gemeinsam genutzten Speichersegments. Für einen Prozess, der im letzten Intervall gestartet wurde, spiegelt das virtuelle Wachstum die virtuelle Gesamtgröße des Prozesses zu diesem Zeitpunkt wider.
Wenn ein Prozess während des letzten Intervalls abgeschlossen wurde, wird kein Wert angezeigt, da die Belegung des virtuellen Speichers nicht Teil des standardmäßigen Prozessabrechnungsdatensatzes ist.

VPID

Virtuelle Prozess-ID (innerhalb eines OpenVZ-Containers). Wenn im letzten Intervall ein Prozess gestartet und beendet wurde, wird ein „?“ angezeigt. wird angezeigt, da die virtuelle Prozess-ID nicht Teil des Standardprozessabrechnungsdatensatzes ist.

VSIZE

Die gesamte von diesem Prozess (oder Benutzer) verbrauchte virtuelle Speichernutzung.
Wenn ein Prozess während des letzten Intervalls abgeschlossen wurde, wird kein Wert angezeigt, da die Belegung des virtuellen Speichers nicht Teil des standardmäßigen Prozessabrechnungsdatensatzes ist.

VSLIBS

Die virtuelle Speichergröße des (gemeinsam genutzten) Textes aller gemeinsam genutzten Bibliotheken, die von diesem Prozess verwendet werden.

VSTACK

Die virtuelle Speichergröße des (privaten) Stapels, der von diesem Prozess verwendet wird

VSTEXT

Die virtuelle Speichergröße des (gemeinsam genutzten) Textes des ausführbaren Programms.

WCHAN

Wartekanal des Threads im Ruhezustand, d. h. der Name der Kernelfunktion, in der der Thread in den Ruhezustand versetzt wurde.
Da das Ermitteln der Namenszeichenfolge der Kernelfunktion eine relativ zeitaufwändige Aufgabe ist, sollte die Taste „W“ (oder das Flag „-W“) aktiv sein.

WRDSK

Die Schreibdatenübertragung erfolgt physisch auf der Festplatte (daher wird das Schreiben in den Festplatten-Cache nicht berücksichtigt). Dieser Zähler wird für den Anwendungsprozess beibehalten, der seine Daten in den Cache schreibt (vorausgesetzt, dass diese Daten später physisch auf die Festplatte übertragen werden). Beachten Sie, dass die für den Austausch erforderliche Festplatten-E/A nicht berücksichtigt wird.
Leider aggregiert der Kernel beim Beenden die Datenübertragung eines Prozesses mit der Datenübertragung seines übergeordneten Prozesses, sodass Sie möglicherweise Übertragungen für (übergeordnete) Prozesse wie cron, bash oder init sehen, die nicht wirklich von ihnen ausgegeben werden.

WCANCL

Die Schreibdatenübertragung entfiel zuvor auf diesen Vorgang oder einen anderen Vorgang, der abgebrochen wurde. Angenommen, ein Prozess schreibt neue Daten in eine Datei und die Daten werden wieder entfernt, bevor die Cache-Puffer auf die Festplatte geleert wurden. Dann zeigt der ursprüngliche Prozess die geschriebenen Daten als WRDSK an, während der Prozess, der die Datei entfernt/kürzt, die nicht geleerten entfernten Daten als WCANCL anzeigt.

PARSABLE-AUSGABE

Mit dem Flag -P gefolgt von einer Liste mit einem oder mehreren Labels (durch Kommas getrennt) wird für jedes Beispiel eine analysierbare Ausgabe erstellt. Die Bezeichnungen, die für Statistiken auf Systemebene angegeben werden können, entsprechen den Bezeichnungen (erstes Verb jeder Zeile), die in der interaktiven Ausgabe zu finden sind: „CPU“, „cpu“, „CPL“, „GPU“, „MEM“ , „SWP“, „PAG“, „PSI“, „LVM“, „MDD“, „DSK“, „NFM“, „NFC“, „NFS“, „NET“, „IFB“, „LLC“, „ NUM“ und „NUC“.
Für Statistiken auf Prozessebene stehen spezielle Labels zur Verfügung: „PRG“ (allgemein), „PRC“ (CPU), „PRE“ (GPU), „PRM“ (Speicher), „PRD“ (Festplatte, nur wenn „Speicherabrechnung“ ist aktiv) und „PRN“ (Netzwerk, nur wenn das Kernelmodul „netatop“ installiert wurde).
Mit der Bezeichnung „ALL“ werden alle Statistiken auf System- und Prozessebene angezeigt.

Der Befehl und die Befehlszeile in der analysierbaren Ausgabe können Leerzeichen enthalten und werden daher standardmäßig in Klammern gesetzt. Da von Parsing-Tools jedoch häufig ein Leerzeichen als Trennzeichen zwischen den Feldern verwendet wird, ist es mit dem zusätzlichen Flag -Z möglich, die Leerzeichen im Befehl (Zeile) durch Unterstriche zu ersetzen und die Klammer wegzulassen.

Für jedes Intervall werden alle angeforderten Zeilen angezeigt, woraufhin oben eine Zeile anzeigt, die nur die Bezeichnung „SEP“ als Trennzeichen enthält, bevor die Zeilen für die nächste Probe generiert werden.
Wenn ein Beispiel die Werte seit dem Booten enthält, zeigt oben eine Zeile an, die nur die Bezeichnung „RESET“ enthält, bevor die Zeilen für dieses Beispiel generiert werden.

Der erste Teil jeder Ausgabezeile besteht aus den folgenden sechs Feldern: label (der Name des Labels), host (der Name dieser Maschine), Epoche (die Zeit dieses Intervalls als Anzahl der Sekunden seit dem 1.1.1970), Datum (Datum dieses Intervalls im Format JJJJ/MM/TT), Zeit< (Zeit dieses Intervalls im Format HH:MM:SS) und Intervall (Anzahl der für dieses Intervall verstrichenen Sekunden).

Die nachfolgenden Felder jeder Ausgabezeile hängen von der Bezeichnung ab:

CPU

Nachfolgende Felder: Gesamtzahl der Clock-Ticks pro Sekunde für diese Maschine, Anzahl der Prozessoren, Verbrauch für alle CPUs im Systemmodus (Clock-Ticks), Verbrauch für alle CPUs im Benutzermodus (Clock-Ticks), Verbrauch für alle CPUs in Benutzermodus für schöne Prozesse (Clock-Ticks), Verbrauch für alle CPUs im Leerlaufmodus (Clock-Ticks), Verbrauch für alle CPUs im Wartemodus (Clock-Ticks), Verbrauch für alle CPUs im IRQ-Modus (Clock-Ticks), Verbrauch für alle CPUs im Softirq-Modus (Takt-Ticks), Verbrauch für alle CPUs im Steal-Modus (Takt-Ticks), Verbrauch für alle CPUs im Gastmodus (Takt-Ticks), überlappender Benutzermodus, Häufigkeit aller CPUs, Häufigkeitsprozentsatz von alle CPUs, von allen CPUs ausgeführte Anweisungen und Zyklen für alle CPUs.

cpu

Nachfolgende Felder: Gesamtzahl der Clock-Ticks pro Sekunde für diese Maschine, Prozessornummer, Verbrauch für diese CPU im Systemmodus (Clock-Ticks), Verbrauch für diese CPU im Benutzermodus (Clock-Ticks), Verbrauch für diese CPU in Benutzermodus für Niced-Prozesse (Clock-Ticks), Verbrauch für diese CPU im Leerlaufmodus (Clock-Ticks), Verbrauch für diese CPU im Wartemodus (Clock-Ticks), Verbrauch für diese CPU im IRQ-Modus (Clock-Ticks), Verbrauch für diese CPU im Softirq-Modus (Takt-Ticks), Verbrauch für diese CPU im Steal-Modus (Takt-Ticks), Verbrauch für diese CPU im Gastmodus (Takt-Ticks), überlappender Benutzermodus, Häufigkeit dieser CPU, Häufigkeitsprozentsatz von Diese CPU, von dieser CPU ausgeführte Anweisungen und Zyklen für diese CPU.

CPL

Nachfolgende Felder: Anzahl der Prozessoren, Lastdurchschnitt für die letzte Minute, Lastdurchschnitt für die letzten fünf Minuten, Lastdurchschnitt für die letzten fünfzehn Minuten, Anzahl der Kontextwechsel und Anzahl der Geräteunterbrechungen.

GPU

Nachfolgende Felder: GPU-Nummer, Bus-ID-Zeichenfolge, Art der GPU-Zeichenfolge, GPU-Auslastungsprozentsatz in der letzten Sekunde (-1, wenn nicht verfügbar), Speicherauslastungsprozentsatz in der letzten Sekunde (-1, wenn nicht verfügbar), Gesamtspeichergröße (KiB) , verwendeter Speicher (KiB) zu diesem Zeitpunkt, Anzahl der während des Intervalls erfassten Stichproben, kumulativer Prozentsatz der GPU-Auslastung während des Intervalls (zu dividieren durch die Anzahl der Stichproben für den durchschnittlichen Auslastungsprozentsatz, -1, falls nicht verfügbar), kumulativer Prozentsatz der ausgelasteten Speicherkapazität während des Intervalls (zu dividieren durch die Anzahl der Proben für den durchschnittlichen Auslastungsprozentsatz, -1, wenn nicht verfügbar) und kumulative Speicherbelegung während des Intervalls (zu dividieren durch die Anzahl der Proben für die durchschnittliche Belegung).

MEM

Nachfolgende Felder: Seitengröße für diese Maschine (in Bytes), Größe des physischen Speichers (Seiten), Größe des freien Speichers (Seiten), Größe des Seitencaches (Seiten), Größe des Puffercaches (Seiten), Größe der Platte (Seiten). ), verschmutzte Seiten im Cache (Seiten), zurückgewinnbarer Teil der Platte (Seiten), Gesamtgröße der Ballonseiten (Seiten) von VMware, Gesamtgröße des gemeinsam genutzten Speichers (Seiten), Größe des residenten gemeinsam genutzten Speichers (Seiten), Größe des ausgelagerten gemeinsam genutzten Speichers Speicher (Seiten), riesige Seitengröße (in Bytes), Gesamtgröße der riesigen Seiten (riesige Seiten), Größe der freien riesigen Seiten (riesige Seiten), Größe des ARC (Cache) von ZFSonlinux (Seiten), Größe der Freigabeseiten für KSM (Seiten), Größe der freigegebenen Seiten für KSM (Seiten), Größe des für TCP-Sockets verwendeten Speichers (Seiten), Größe des für UDP-Sockets verwendeten Speichers (Seiten) und Größe der Seitentabellen (Seiten).

SWP

Nachfolgende Felder: Seitengröße für diese Maschine (in Bytes), Größe des Swaps (Seiten), Größe des freien Swaps (Seiten), Größe des Swap-Cache (Seiten), Größe des zugesicherten Speicherplatzes (Seiten), Grenzwert für zugesicherten Speicherplatz (Seiten). ), Größe des Swap-Cache (Seiten), Größe der in Zswap gespeicherten komprimierten Seiten (Seiten) und Gesamtgröße des komprimierten Pools in Zswap (Seiten).

LLC

Nachfolgende Felder: LLC-ID, Prozentsatz der verwendeten LLC, Gesamtspeicherbandbreite dieses LLC (in Bytes) und Speicherbandbreite auf dem lokalen NUMA-Knoten dieses LLC (in Bytes).

PAG

Nachfolgende Felder: Seitengröße für diese Maschine (in Bytes), Anzahl der Seitenscans, Anzahl der Allocstalls, 0 (zukünftige Verwendung), Anzahl der Swapins, Anzahl der Swapouts, Anzahl der Oomkills (-1, wenn kein Zähler vorhanden ist), Anzahl der Prozessverzögerungen bei der Ausführung der Speicherkomprimierung, Anzahl der insgesamt erfolgreich migrierten Seiten, Anzahl der migrierten NUMA-Seiten, Anzahl der von Blockgeräten gelesenen Seiten und Anzahl der auf Blockgeräte geschriebenen Seiten.

PSI

Nachfolgende Felder: Auf diesem System vorhandene PSI-Statistiken (n oder y), CPU einige durchschnittliche 10, CPU einige durchschnittliche 60, CPU einige durchschnittliche 300, CPU einige akkumulierte Mikrosekunden während des Intervalls, Speicher einige durchschnittliche 10, Speicher einige durchschnittliche 60, Speicher einige durchschnittliche 300, Speicher einige akkumulierte Mikrosekunden während des Intervalls, Speicher voll, Durchschnitt 10, Speicher voll, Durchschnitt 60, Speicher voll, Durchschnitt 300, Speicher voll, akkumulierte Mikrosekunden während des Intervalls, E/A einige durchschnittliche 10, E/A einige durchschnittliche 60, E/A einige durchschnittliche 300, E/A einige akkumulierte Mikrosekunden während des Intervalls, I /O voll durchschnittlich 10, E/A voll durchschnittlich 60, E/A voll durchschnittlich 300 und E/A voll akkumulierte Mikrosekunden während des Intervalls.

LVM/MDD/DSK

Für jedes logische Volume/mehrere Gerät/Festplatte wird eine Zeile angezeigt.
Nachfolgende Felder: Name, Anzahl der für E/A aufgewendeten Millisekunden, Anzahl der ausgegebenen Lesevorgänge, Anzahl der für Lesevorgänge übertragenen Sektoren, Anzahl der ausgegebenen Schreibvorgänge, Anzahl der für den Schreibvorgang übertragenen Sektoren, Anzahl der ausgegebenen Verwerfungen (-1, wenn nicht unterstützt), Anzahl der zum Verwerfen übertragenen Sektoren, Anzahl der derzeit laufenden (noch nicht abgeschlossenen) Anforderungen und die durchschnittliche Warteschlangentiefe, während die Festplatte ausgelastet war.

NFM

Nachfolgende Felder: gemountetes NFS-Dateisystem, Gesamtzahl der gelesenen Bytes, Gesamtzahl der geschriebenen Bytes, Anzahl der durch normale Systemaufrufe gelesenen Bytes, Anzahl der durch normale Systemaufrufe geschriebenen Bytes, Anzahl der durch direkte E/A gelesenen Bytes, Anzahl der Bytes geschrieben durch direkte E/A, Anzahl der Seiten, die durch speicherzugeordnete E/A gelesen wurden, und Anzahl der Seiten, die durch speicherzugeordnete E/A geschrieben wurden.

NFC

Nachfolgende Felder: Anzahl der übertragenen RPCs, Anzahl der übertragenen Lese-RPCs, Anzahl der übertragenen Schreib-RPCs, Anzahl der RPC-Neuübertragungen und Anzahl der Autorisierungsaktualisierungen.

NFS

Nachfolgende Felder: Anzahl der behandelten RPCs, Anzahl der empfangenen Lese-RPCs, Anzahl der empfangenen Schreib-RPCs, Anzahl der von Clients gelesenen Bytes, Anzahl der von Clients geschriebenen Bytes, Anzahl der RPCs mit fehlerhaftem Format, Anzahl der RPCs mit fehlerhafter Autorisierung, Anzahl der RPCs von fehlerhaftem Client, Gesamtzahl der bearbeiteten Netzwerkanfragen, Anzahl der bearbeiteten Netzwerkanfragen über TCP, Anzahl der bearbeiteten Netzwerkanfragen über UDP, Anzahl der bearbeiteten TCP-Verbindungen, Anzahl der Treffer im Antwortcache, Anzahl der Fehlschläge im Antwortcache und Anzahl von nicht zwischengespeicherten Anfragen.

NET

Zunächst wird eine Zeile für die oberen Schichten des TCP/IP-Stacks erstellt.
Nachfolgende Felder: das Verb „upper“, Anzahl der von TCP empfangenen Pakete, Anzahl der von TCP übertragenen Pakete, Anzahl der von UDP empfangenen Pakete, Anzahl der von UDP übertragenen Pakete, Anzahl der von IP empfangenen Pakete, Anzahl der von IP übertragenen Pakete , Anzahl der per IP an höhere Schichten übermittelten Pakete, Anzahl der per IP weitergeleiteten Pakete, Anzahl der Eingabefehler (UDP), Anzahl der Noport-Fehler (UDP), Anzahl der aktiven Öffnungen (TCP), Anzahl der passiven Öffnungen (TCP), Anzahl der passiven Öffnungen (TCP), Anzahl der derzeit hergestellten Verbindungen (TCP), Anzahl der erneut übertragenen Segmente (TCP), Anzahl der Eingabefehler (TCP) und Anzahl der Ausgabe-Resets (TCP).

Als nächstes wird für jede Schnittstelle eine Zeile angezeigt.
Nachfolgende Felder: Name der Schnittstelle, Anzahl der von der Schnittstelle empfangenen Pakete, Anzahl der von der Schnittstelle empfangenen Bytes, Anzahl der von der Schnittstelle übertragenen Pakete, Anzahl der von der Schnittstelle übertragenen Bytes, Schnittstellengeschwindigkeit und Duplexmodus (0=halb). , 1=voll).

IFB

Nachfolgende Felder: Name der InfiniBand-Schnittstelle, Portnummer, Anzahl der Lanes, maximale Rate (Mbps), Anzahl der empfangenen Bytes, Anzahl der übertragenen Bytes, Anzahl der empfangenen Pakete und Anzahl der übertragenen Pakete.

NUM

Nachfolgende Felder: NUMA-Knotennummer, Seitengröße für diesen Computer (in Bytes), der Fragmentierungsprozentsatz dieses Knotens, Größe des physischen Speichers (Seiten), Größe des freien Speichers (Seiten), kürzlich (aktiv) verwendeter Speicher (Seiten), weniger kürzlich (inaktiv) verwendeter Speicher (Seiten), Größe der zwischengespeicherten Dateidaten (Seiten), fehlerhafte Seiten im Cache (Seiten), Slab-Speicher, der für Kernel-Mallocs verwendet wird (Seiten), Slab-Speicher, der zurückgewinnbar ist (Seiten), gemeinsam genutzter Speicher einschließlich tmpfs (Seiten) und insgesamt große Seiten (Seiten).

NUC

Nachfolgende Felder: NUMA-Knotennummer, Anzahl der Prozessoren für diesen Knoten, Verbrauch für Knoten-CPUs im Systemmodus (Clock-Ticks), Verbrauch für Knoten-CPUs im Benutzermodus (Clock-Ticks), Verbrauch für Knoten-CPUs im Benutzermodus für Niced-Prozesse (Clock-Ticks), Verbrauch für Knoten-CPUs im Leerlaufmodus (Clock-Ticks), Verbrauch für Knoten-CPUs im Wartemodus (Clock-Ticks), Verbrauch für Knoten-CPUs im IRQ-Modus (Clock-Ticks), Verbrauch für Knoten-CPUs im Softirq-Modus (Clock-Ticks), Verbrauch für Knoten-CPUs im Steal-Modus (Clock-Ticks) und Verbrauch für Knoten-CPUs im Gastmodus (Clock-Ticks), überlappender Benutzermodus.

PRG

Für jeden Vorgang wird eine Zeile angezeigt.
Nachfolgende Felder: PID (eindeutige ID der Aufgabe), Name (zwischen Klammern oder Unterstrichen für Leerzeichen), Status, echte UID, echte GID, TGID (Gruppenanzahl verwandter Aufgaben/Threads), Gesamtzahl der Threads, Exit-Code (falls vorhanden). des schwerwiegenden Signals: Signalnummer + 256), Startzeit (Epoche), vollständige Befehlszeile (zwischen Klammern oder Unterstrichen für Leerzeichen), PPID, Anzahl der Threads im Status „Läuft“ (R), Anzahl der Threads im Status „Unterbrechbar im Ruhezustand“. ' (S), Anzahl der Threads im Zustand „unterbrechungsfreier Ruhezustand“ (D), effektive UID, effektive GID, gespeicherte UID, gespeicherte GID, Dateisystem-UID, Dateisystem-GID, verstrichene Zeit des beendeten Prozesses (Hertz), is_process (j/n ), virtuelle OpenVZ-PID (VPID), OpenVZ-Container-ID (CTID), Docker-Container-ID (CID), Angabe, ob die Aufgabe in diesem Intervall neu gestartet wird ('N'), cgroup v2-Pfadname (zwischen Klammern oder Unterstrichen für Leerzeichen). ) und Endzeit (Epoche oder 0, wenn noch aktiv).

PRC

Für jeden Vorgang wird eine Zeile angezeigt.
Nachfolgende Felder: PID, Name (zwischen Klammern oder Unterstrichen für Leerzeichen), Status, Gesamtzahl der Clock-Ticks pro Sekunde für diese Maschine, CPU-Verbrauch im Benutzermodus (Clockticks), CPU-Verbrauch im Systemmodus (Clockticks), nett Wert, Priorität, Echtzeitpriorität, Planungsrichtlinie, aktuelle CPU (-1 für beendeten Prozess), Schlafdurchschnitt, TGID (Gruppenanzahl verwandter Aufgaben/Threads), is_process (j/n), Runqueue-Verzögerung in Nanosekunden für diesen Thread oder für Alle Threads (im Falle eines Prozesses), Wartekanal dieses Threads (zwischen Klammern oder Unterstrichen für Leerzeichen), Block-E/A-Verzögerung (Clockticks), cgroup v2 „cpu.max“ wird als Prozentsatz berechnet (-3 bedeutet keine cgroup v2-Unterstützung , -2 bedeutet undefiniert und -1 bedeutet maximal), cgroup v2 am restriktivsten „cpu.max“ in oberen Verzeichnissen, berechnet als Prozentsatz (-3 bedeutet keine cgroup v2-Unterstützung, -2 bedeutet undefiniert und -1 bedeutet maximal), Anzahl der freiwilligen Kontextwechsel und Anzahl unfreiwilliger Kontextwechsel.

PRE

Für jeden Vorgang wird eine Zeile angezeigt.
Nachfolgende Felder: PID, Name (zwischen Klammern oder Unterstrichen für Leerzeichen), Prozessstatus, GPU-Status (A für aktiv, E für beendet, N für kein GPU-Benutzer), Anzahl der von diesem Prozess verwendeten GPUs, Bitliste mit den verwendeten GPUs, GPU Belegungsprozentsatz während des Intervalls, Speicherbelegungsprozentsatz während des Intervalls, Speicherbelegung (KiB) zu diesem Zeitpunkt, kumulative Speicherbelegung (KiB) während des Intervalls und Anzahl der während des Intervalls entnommenen Proben.

PRM

Für jeden Vorgang wird eine Zeile angezeigt.
Nachfolgende Felder: PID, Name (zwischen Klammern oder Unterstrichen für Leerzeichen), Status, Seitengröße für diese Maschine (in Bytes), Größe des virtuellen Speichers (KiB), Größe des residenten Speichers (KiB), Größe des gemeinsam genutzten Textspeichers (KiB), virtuell Speicherwachstum (KiB), residentes Speicherwachstum (KiB), Anzahl kleinerer Seitenfehler, Anzahl schwerwiegender Seitenfehler, Exec-Größe der virtuellen Bibliothek (KiB), virtuelle Datengröße (KiB), virtuelle Stapelgröße (KiB), verwendeter Swap-Speicherplatz (KiB), TGID (Gruppenanzahl verwandter Aufgaben/Threads), is_process (y/n), proportionale Satzgröße (KiB), wenn in der Option „R“ angegeben, virtuell gesperrter Speicherplatz (KiB), cgroup v2-Speicher. max' in KiB (-3 bedeutet keine cgroup v2-Unterstützung, -2 bedeutet undefiniert und -1 bedeutet maximal), cgroup v2 am restriktivsten 'memory.max' in den oberen Verzeichnissen in KiB (-3 bedeutet keine cgroup v2-Unterstützung, -2 bedeutet undefiniert und -1 bedeutet Maximum), cgroup v2 „memory.swap.max“ in KiB (-3 bedeutet keine cgroup v2-Unterstützung, -2 bedeutet undefiniert und -1 bedeutet maximal) und cgroup v2 am restriktivsten „memory.swap.max“. ' in oberen Verzeichnissen in KiB (-3 bedeutet keine cgroup v2-Unterstützung, -2 bedeutet undefiniert und -1 bedeutet maximal).

PRD

Für jeden Vorgang wird eine Zeile angezeigt.
Nachfolgende Felder: PID, Name (zwischen Klammern oder Unterstrichen für Leerzeichen), Status, veralteter installierter Kernel-Patch ('n'), verwendete Standard-IO-Statistiken ('y' oder 'n'), Anzahl der Lesevorgänge auf der Festplatte, kumulative Anzahl von Gelesene Sektoren, Anzahl der Schreibvorgänge auf der Festplatte, kumulative Anzahl geschriebener Sektoren, abgebrochene Anzahl geschriebener Sektoren, TGID (Gruppenanzahl verwandter Aufgaben/Threads), veralteter Wert ('n') und is_process (j/n).

PRN

Für jeden Vorgang wird eine Zeile angezeigt.
Nachfolgende Felder: PID, Name (zwischen Klammern oder Unterstrichen für Leerzeichen), Status, geladenes Kernelmodul „netatop“ („y“ oder „n“), Anzahl der übertragenen TCP-Pakete, kumulative Größe der übertragenen TCP-Pakete, Anzahl der Empfangene TCP-Pakete, kumulative Größe der empfangenen TCP-Pakete, Anzahl der übertragenen UDP-Pakete, kumulative Größe der übertragenen UDP-Pakete, Anzahl der empfangenen UDP-Pakete, kumulative Größe der übertragenen UDP-Pakete, Anzahl der übertragenen Rohpakete (veraltet , immer 0), Anzahl der empfangenen Rohpakete (veraltet, immer 0), TGID (Gruppenanzahl verwandter Aufgaben/Threads) und is_process (y/n).
Wenn das Kernelmodul nicht aktiv ist, sind die Netzwerk-E/A-Zähler pro Prozess nicht relevant.

JSON-AUSGABE

Mit dem Flag -J gefolgt von einer Liste mit einem oder mehreren Labels (durch Kommas getrennt) wird für jedes Beispiel eine JSON-Ausgabe erstellt. Die Syntax und der Name der JSON-Labels sind dieselben wie für die analysierbare Ausgabe.

SIGNALE

Durch Senden des SIGUSR1-Signals an atop wird eine neue Probe erzwungen, auch wenn das aktuelle Timer-Intervall noch nicht überschritten ist. Das Verhalten ähnelt dem Drücken der Taste „t“ in einer interaktiven Sitzung.

Durch das Senden des SIGUSR2-Signals an atop wird eine letzte Stichprobe erzwungen, nach der atop beendet wird.

SYNTAX

Live measurement in bar graph mode:

atop -B[H] [interval [samples]]

Live measurement in text mode:

atop [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFG1xR] [interval [samples]]

Live generation of parsable output (white-space separated or JSON):

atop [-Plabel[,label]... [-Z]] [-Jlabel[,label]...] [interval [samples]]

Write raw log files:

atop -w rawfile [-a] [-S] [interval [samples]]

Analyze raw log files in bar graph mode:

atop -B[H]r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm]

Analyze raw log files in text mode:

atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] [-g|-m|-d|-n|-u|-p|-s|-c|-v|-o|-y|-Y] [-C|-M|-D|-N|-A] [-fFG1xR]

Generate parsable output from raw log files (white-space separated or JSON):

atop -r [rawfile|yyy...] [-b [YYYYMMDD]hhmm] [-e [YYYYMMDD]hhmm] [-Plabel[,label]... [-Z]] [-Jlabel[,label]...]

BEISPIELE

Um die aktuelle Systemlast im Textmodus mit einem Intervall von (Standard) 10 Sekunden zu überwachen:

atop

Um die aktuelle Systemlast als Balkendiagramm im 5-Sekunden-Intervall zu überwachen:

atop -B 5

Speichern Sie Informationen über die System- und Prozessaktivität in binär komprimierter Form in einer Datei im Abstand von zehn Minuten während einer Stunde:

atop -w /tmp/atop.raw 600 6

Sehen Sie sich den Inhalt dieser Datei interaktiv an:

atop -r /tmp/atop.raw

Sehen Sie sich die Prozessor- und Festplattenauslastung dieser Datei im analysierbaren Format an:

atop -PCPU,DSK -r /tmp/atop.raw

Sehen Sie sich interaktiv den Inhalt der heutigen Standard-Logdatei an:

auf -r

Sehen Sie sich interaktiv den Inhalt der Standard-Logdatei von vorgestern an:

auf -r yy

Sehen Sie sich den Inhalt des Standard-Logfiles vom 15. April 2023 ab 14:00 Uhr interaktiv an:

atop -r 20230415 -b 1400

Verketten Sie alle Rohprotokolldateien vom März 2023 und generieren Sie eine analysierbare Ausgabe über die CPU-Auslastung:

atopcat /var/log/atop/atop_202303?? | atop -r - -PCPU

So überwachen Sie die Systemlast und schreiben sie im Abstand von einer Minute während einer halben Stunde in eine Datei (in einfachem ASCII), wobei die aktiven Prozesse nach Speicherverbrauch sortiert sind:

atop -M 60 30 > /log/atop.mem

DATEIEN

/var/run/pacct_shadow.d/

Verzeichnis, das die Schattendateien der Prozessabrechnung enthält, die von atop verwendet werden, wenn der Daemon atopacctd aktiv ist.

/var/cache/atop.d/atop.acct

Datei, in die der Kernel die Abrechnungsdatensätze schreibt, wenn atop selbst den Prozessabrechnungsmechanismus aktiviert hat.

/etc/atoprc

Konfigurationsdatei mit systemweiten Standardwerten. Weitere Informationen zu den Standardwerten finden Sie auf der Manpage atoprc).

~/.atoprc

Konfigurationsdatei mit persönlichen Standardwerten. Weitere Informationen zu den Standardwerten finden Sie auf der Manpage atoprc).

/etc/default/atop

Konfigurationsdatei zum Überschreiben der Einstellungen von atop, das im Hintergrund ausgeführt wird, um die tägliche Protokolldatei zu erstellen. Diese Datei wird erstellt, wenn atop installiert wird. Die Standardeinstellungen sind:

.br

LOGOPTS=""
LOGINTERVAL=600
LOGGENERATIONS=28

/var/log/atop/atop_YYYYMMDD

Rohdatei, wobei JJJJMMTT Ziffern sind, die das aktuelle Datum darstellen. Dieser Name wird von atop, das im Hintergrund läuft, als Standardname für die Ausgabedatei und von atop als Standardname für die Eingabedatei verwendet, wenn -r verwendet wird Flagge.
Alle binären System- und Prozessebenendaten in dieser Datei wurden in komprimiertem Format gespeichert.

/var/run/netatop.log

Datei, die die Netpertask-Strukturen enthält, die die Netzwerkzähler beendeter Prozesse enthalten. Diese Strukturen werden vom netatopd-Daemon geschrieben und von atop gelesen, nachdem die Standardprozessabrechnungsdatensätze gelesen wurden.

SIEHE AUCH

atopsar(1), atopconvert(1), atopcat(1), atoprc(5), atopacctd(8), netatop(4), netatopd(8), atopgpud(8), logrotate(8)
https://www.atoptool.nl

AUTOR

Gerlof Langeveld (gerlof.langeveld@atoptool.nl)
JC van Winkel