Ich überwache meine Java-Anwendung (geschrieben in JDK 1.7
) mit VisualVM
. Das folgende Diagramm zeigt die Auslastung des Heapspeichers für die Dauer der Ausführung dieser Anwendung.VisualVM: Ideal Heap Memory Usage Graph
in diesem Diagramm diejenigen Blick sehen, dass viele Spitzen in ihm gibt es. Diese Spitzen geben die Erstellung von Objekten durch die Anwendung an. Sobald die Anwendung mit ihnen fertig ist, zerstört sie sie mit GC (implizit in diesem Fall genannt).
Auch hier ist ein Screenshot von Speicher-Profiler, wenn die Anwendung noch zu mir
die nach oben und unten Art des Diagramms zeigt eine effiziente Nutzung von Java-Objekten ausgeführt wird. Ist diese Schlussfolgerung richtig?
Was ist die ideale Art des Heap-Verwendungsgraphen, auf den man zielen sollte?
Gibt es noch andere Möglichkeiten, wie ich die Heapspeicherauslastung meiner Anwendung verbessern kann?
Viele Spikes auf der rechten Seite Show-Programm produziert mehr kurzlebige Objekte im Laufe der Zeit. Möglicherweise kann dies optimiert werden. –
Ihr Speicherverbrauch sieht tadellos aus –
@VictorSorokin Der JVM GC behandelt viele kurzlebige Objekte ziemlich gut. Dies ist kein Problem. – pickypg