Speichermessung von Java-Apps unter Windows

Übersicht über die verwendete Java-Speichergröße

Wenn Sie die tatsächlich von einer Java-App in einer Windows-Umgebung verwendete Speichermenge überprüfen möchten, können Sie dies nicht auf der Registerkarte "Prozess" des Task-Managers überprüfen. ** Der Task-Manager zeigt die Größe des Speichers an, den die JVM insgesamt zugewiesen hat. ** ** ** Dieses Mal zeige ich Ihnen, wie Sie mit zwei Methoden eine ungefähre Vorstellung von der Größe des Speichers erhalten, den Java tatsächlich verwendet. Mit dieser Methode können Sie die ungefähre Speichermenge anzeigen, ohne die Verarbeitung wesentlich zu beeinträchtigen, ohne die Anwendung zu ändern.

1. Wie benutzt man Jstat?

Informationen zum Messen des verwendeten Speichers mit dem Befehl jstat finden Sie in Ein weiterer Artikel. ** Sie können den Befehl Jstat auch an der Eingabeaufforderung in einer Windows-Umgebung verwenden. ** In einer Windows-Umgebung befindet sich die Datei jstat.exe im Ordner bin des JDK. Die vom Befehl jstat angegebene Prozess-ID entspricht dem Wert der PID des Task-Managers.

2. Verwendung von jvisualvm

Verwenden Sie für die GUI-Umgebung ** Java VisualVM (jvisualvm) ** Sie können die Speichernutzung leicht überprüfen. ** jvisualvm ist ein Tool, das Daten zu Java-Anwendungen in einem Format darstellt, mit dem Sie schnell surfen können. ** Erklärt, wie der Speicher mit diesem Tool gemessen wird.

Installieren Sie jvisualvm

Wie jstat wird dieses Tool von Anfang an mit dem Oracle JDK geliefert. Im bin-Ordner des JDK befindet sich eine Datei jvisualvm.exe. Wenn Sie es nicht finden können, laden Sie es von der offiziellen Website herunter.

Überwachen des JVM-Speichers mit jvisualvm

Lassen Sie uns die Heap-Speichernutzung der JAVA-App überprüfen. Starten Sie zunächst jvisualvm im Voraus. Starten Sie dann die Anwendung, für die Sie den Speicher überprüfen möchten. Wenn Sie die App starten, wird die gestartete App in der Liste der Java-Apps auf der linken Seite angezeigt. Klicken Sie also darauf. visualVM

Klicken Sie auf die Registerkarte "Monitor", um verschiedene Diagramme zur JVM anzuzeigen. Um den Heapspeicher zu überprüfen, wird das Diagramm oben rechts angezeigt. Sie können die aktuell verwendete Heap-Größe in einer leicht verständlichen Diagrammanzeige überprüfen.

visualVM(グラフ)

Detaillierte Überprüfung des verwendeten Speichers

Zu beachten ist, dass die Größe des "verwendeten Heaps" im obigen Heap-Diagramm ** eine Mischung aus Daten ist, die zu diesem Zeitpunkt tatsächlich verwendet werden, und Daten, die nicht mehr verwendet werden, aber im Speicher verbleiben. Ich werde. ** Wenn Sie die Größe des tatsächlich verwendeten Heaps anzeigen möchten, müssen Sie nur die tatsächlich verwendete Datenmenge überprüfen. Sie können die tatsächliche Speichernutzung überprüfen, indem Sie auf das Timing nach dem Auftreten einer vollständigen GC achten. Weitere Informationen finden Sie unter Jstat-Artikel.

GC-Informationen hinzufügen

Sie können den Status von GC überprüfen, indem Sie der App ein Plug-In hinzufügen. Öffnen Sie ein Fenster, indem Sie [Extras] ⇒ [Stecker] auswählen und dann das Tag [Verfügbare Stecker] auswählen. Fügen Sie das ** "Visual GC" ** Plug-In aus mehreren Plug-Ins hinzu. Wenn das Hinzufügen erfolgreich ist, wird eine neue Registerkarte mit dem Namen "Visual GC" hinzugefügt. Durch Auswahl dieser Registerkarte können Sie auch den Status von GC in einem Diagramm überprüfen. visualVM(GC)

Vorsichtsmaßnahmen bei der Verwendung von jvisualvm

jvisualvm ist darauf spezialisiert, verschiedene Daten zu JVM schnell grafisch anzuzeigen. Daher ** Es ist nicht möglich, den Anzeigebereich des Diagramms anzugeben oder numerische Werte auszugeben, daher ist es nicht für detaillierte Untersuchungen geeignet. ** Verwenden Sie jvisualvm, wenn Sie die Echtzeitinformationen der aktuell ausgeführten App einfach überprüfen möchten. Wenn Sie etwas genauer untersuchen möchten, sollten Sie die Methode mit jstat richtig anwenden.

Recommended Posts

Speichermessung von Java-Apps unter Windows
Umfang des Versuchs, eine Java-Webanwendung unter Windows Server 2016 zu erstellen
Installieren Sie Java 9 unter Windows 10 und CentOS 7
Entwickeln Sie gRPC unter Windows + Java 7 + Maven 2
Speichermessung für Java-Apps mit jstat
Untersuchen Sie die Speichernutzung von Java-Elementen
Verwenden von JupyterLab + Java mit WSL unter Windows 10
Statusüberwachung von Java-Apps mit Elasticsearch
Rückblick auf die Grundlagen von Java
Erstellen von Java-Webanwendungen unter Windows Server 2016
Rolle von JSP in Webanwendungen [Java]
Erstellen Sie einen Webanwendungsserver (Java) auf VPS
[Java-Entwicklung] Java-Speicher
Java 9+ Anwendungsstatus
Wechseln Sie zwischen mehreren Java-Versionen auf dem Mac
[Lösung] Java kann unter Windows 10 + ATOK 2017 nicht installiert werden
[Java] Übersicht über Java
Ich habe versucht, die DB-Zugriffsanwendung unter IKS + Db2 in IBM Cloud auszuführen (6. Vorbereitung der DB-Zugriffsanwendung (Java)).
Stand April 2018 So installieren Sie Java 8 auf einem Mac
Einrichtungsverfahren für das Java SE Development Kit (JDK) unter Windows
Bibliothek zur Messung der Java-Abdeckung
Voraussichtliche Funktionen von Java
Installieren Sie Corretto 8 unter Windows
[Java] Bedeutung der serialVersionUID
Installieren Sie Java auf dem Mac
Bewertung von Java Shilber
Führen Sie PostgreSQL unter Java aus
Java - Vereinigung von Kommentaren
Geschichte der Java-Annotationen
Java (Verdienste des Polymorphismus)
NIO Bewertung von Java
Die Korrespondenz, wenn eine Java-Anwendung mit launch4j in exe erstellt wurde, funktioniert unter Windows, in dem openJDK installiert ist, nicht
[Java] Drei Funktionen von Java
Zusammenfassung der Java-Unterstützung 2018
Die Geschichte der Erstellung einer Task-Management-Anwendung mit Swing, Java
20190803_Java & k8s on Azure Die Geschichte vom Festivalbesuch
Verwenden Sie Java Web Start in einer OpenJDK-Umgebung unter Windows
Verwenden mehrerer Java-Versionen mit Brew auf Mac + jEnv
Über die regelmäßige Ausführung der Rechenaufgabe der Schienenanwendung in Heroku
[Java] Unterschied zwischen Stapelüberlauffehler und Speichermangel