Ich möchte herausfinden, welche Gesamtgröße des Heapspeichers zu einem bestimmten Zeitpunkt von einem Java-Prozess verwendet wird, und ich muss jmap verwenden.
Die Ausgabe von jmap -heap <pid>
gibt mir so etwas:
Kann ich eine Formel für diese Werte verwenden, um den gesamten belegten Speicherplatz zu ermitteln?
Andere Vorschläge, wie ich dies unter Linux herausfinden kann, sind willkommen, aber jmap ist über sie bevorzugt.
Danke
Wenn Sie versuchen, mit etwas wie jconsole oder jvisvismvm mit dem Hauptfenster zu vergleichen, das 'totale Heap-Nutzung' anzeigt, habe ich herausgefunden, dass durch das Hinzufügen von 'eden eden space' und 'used ps old generation space' das Äquivalent von what diese Grafik zeigt sich in den oben genannten Programmen - das tendiere ich jetzt dazu, weiterzugehen
Die Einträge unter Heap Usage:
listet die verschiedenen partitionierten Speicherpools in der JVM zusammen mit ihrer maximalen Größe, dem verwendeten und dem freien Speicherplatz auf. Sie könnten einfach die verschiedenen used:
-Werte addieren, die Ihnen einen vernünftigen Wert für die gesamte Speicherauslastung geben sollten, obwohl es möglicherweise einen JVM-Overhead gibt, der in den aufgelisteten Pools nicht berücksichtigt wird.