Prozessinformationen prüfen
Der Kernel stellt hilfreichen Informationen zu Prozessen und zur Umgebung bereit. Mithilfe der folgenden Befehle können diese Informationen angezeigt werden.
Befehl ps
Unter Linux®werden Java™ -Threads als Systemthreads implementiert und können je nach Linux -Distribution in der Prozesstabelle angezeigt werden.
Durch die Ausführung des Befehls ps wird eine Momentaufnahme der aktuellen Prozesse erstellt. Der Befehl ps erhält seine Informationen aus dem /proc-Dateisystem. Im Folgenden finden Sie ein Beispiel für die Verwendung von 'ps':
ps -efwH
UID PID PPID C STIME TTY TIME CMD
cass 1234 1231 0 Aug07 ? 00:00:00 /bin/bash
cass 1555 1234 0 Aug07 ? 00:00:02 java app
cass 1556 1555 0 Aug07 ? 00:00:00 java app
cass 1557 1556 0 Aug07 ? 00:00:00 java app
cass 1558 1556 0 Aug07 ? 00:00:00 java app
cass 1559 1556 0 Aug07 ? 00:00:00 java app
cass 1560 1556 0 Aug07 ? 00:00:00 java app - e
- Gibt die Auswahl aller Prozesse an.
- f
- Stellt sicher, dass eine vollständige Liste bereitgestellt wird.
- l
- Gibt die Anzeige im Langformat an.
- m
- Zeigt Threads an, wenn Sie nicht standardmäßig angezeigt werden.
- w
- Ein Ausgabemodifikator, der eine breite Ausgabe sicherstellt.
- H
- Nützlich, wenn Sie an Java-Threads interessiert sind, weil es eine hierarchische Liste anzeigt. Bei einer hierarchischen Anzeige können Sie feststellen, welcher Prozess der ursprüngliche Thread bzw. der Threadmanager ist und welche Prozesse untergeordnete Threads sind. Im vorherigen Beispiel ist Prozess 1555 der ursprüngliche Thread, während Prozess 1556 der Threadmanager ist. Alle untergeordneten Prozesse verfügen über eine übergeordnete Prozess-ID, die auf den Threadmanager verweist.
Befehl top
Mit dem Befehl top werden die CPU-intensivsten oder speicherintensivsten Prozesse in Echtzeit angezeigt. Er stellt eine interaktive Schnittstelle für die Bearbeitung von Prozessen bereit und ermöglicht die Sortierung nach verschiedenen Kriterien, z. B. CPU-Belastung oder Speicherbelegung. Drücken Sie die Taste h, während Sie top ausführen, um alle verfügbaren interaktiven Befehle zu sehen.
Mit dem Befehl top werden für jeden Prozess einige Informationsfelder angezeigt. Im Prozessfeld wird die Gesamtzahl der Prozesse angezeigt, die aktiv sind. Die Informationen werden jedoch in Tasks, die aktiv sind, sich im Ruhemodus befinden, gestoppt oder nicht inaktiv sind, untergliedert. Neben der Prozess-ID, der übergeordneten Prozess-ID und der Benutzernummer werden mit dem Befehl top Informationen zur Speicherbelegung und zum Auslagerungsspeicher angezeigt. DermemDas Feld enthält Statistikdaten zur Speicherbelegung, einschließlich des verfügbaren Speichers, des freien Speichers, des belegten Speichers, des gemeinsam genutzten Speichers und des für Puffer verwendeten Speichers. Im Auslagerungsfeld werden der gesamte Auslagerungsspeicher, der verfügbare Auslagerungsspeicher und der verwendete Auslagerungsspeicher angezeigt.
Befehl vmstat
Mit dem Befehl vmstat werden Statistikdaten zum virtuellen Speicher aufgelistet. Es ist zu empfehlen, eine Prüfung des allgemeinen Status Ihres Systems durchzuführen, da Daten zum gesamten System aufgelistet werden. Mithilfe von Befehlen wie top können genauere Informationen zur Prozessverarbeitung abgerufen werden.
Wenn Sie den Befehl zum ersten Mal während einer Sitzung verwenden, werden die Informationen als Durchschnittswerte seit dem letzten Warmstart aufgelistet. Bei einer weiteren Verwendung werden Berichte erzeugt, die auf einem Stichprobenzeitraum basieren, den Sie als Option angeben können. vmstat 3 4 zeigt Werte alle 3 Sekunden für eine Anzahl von vier Mal an. Möglicherweise ist es sinnvoll, vmstat vor der Anwendung zu starten, die Ausgabe des Befehls in eine Datei übertragen zu lassen und die Statistikdaten später zu prüfen, wenn die Anwendung gestartet und ausgeführt wurde.
Die grundlegende Ausgabe dieses Befehls wird in den folgenden Abschnitten angezeigt:
- Prozesse
- Zeigt an, wie viele Prozesse auf die Ausführung warten, blockiert oder ausgelagert sind.
- Speicher
- Zeigt die Menge des ausgelagerten, freien, gepufferten und zwischengespeicherten Speichers (in Kilobyte) an. Wenn der freie Speicherplatz in bestimmten Stadien der Anwendungsausführung zurückgeht, kann ein Speicherleck auftreten.
- tauschen
- Zeigt den Speicher, der von einem Datenträger eingelagert und auf einen Datenträger ausgelagert wird, in Kilobyte pro Sekunde an. Speicher wird auf einen Datenträger ausgelagert, wenn nicht genügend Arbeitsspeicher zur Verfügung steht, um alles zu speichern. Große Werte können hier ein Hinweis darauf sein, dass nicht genügend Arbeitsspeicher verfügbar ist (obwohl eine Auslagerung beim ersten Starten der Anwendung normal ist).
- un
- Zeigt die Anzahl der Speicherblöcke an, die pro Sekunde an Blockeinheiten gesendet werden und von ihnen empfangen werden.
- System
- Zeigt die Interrupts und die Kontextwechsel pro Sekunde an. Mit jedem Kontextwechsel sind Leistungseinbußen verbunden. Deshalb kann ein hoher Wert für diesen Abschnitt bedeuten, dass die Skalierung des Programms nicht optimal ist.
- cpu
- Zeigt eine Aufgliederung der Prozessorzeit in Benutzerzeit, Systemzeit und Leerlaufzeit an. Der Wert für die Leerlaufzeit zeigt an, wie ausgelastet ein Prozessor ist. Ein niedriger Wert gibt an, dass der Prozessor ausgelastet ist. Mit diesem Wissen können Sie besser einschätzen, welche Bereiche Ihres Programms die CPU am meisten belasten.