2009-07-28 15 views
1

Die Protokollierungsoption von Garbage Collection (GC) -Informationen, die dabei helfen, die Größe des Heapspeichers zu optimieren oder ein anderes Speicherproblem zu diagnostizieren, wird durch was erledigt?Garbage Collection

+0

Sie http://stackoverflow.com/questions/466878/can-you-get-basic-gc-stats-in überprüfen möchten -Java –

Antwort

4

-verbose:gc ist was du willst.

Weitere Informationen finden Sie unter GCPortal.

JConsole kann verwendet werden, um die Garbage Collection grafisch zu überwachen, die manchmal zur Identifizierung von Trends nützlich sein können usw.

1

Kurz

  • -XX:PrintGCDetails - Timings und Raumgrößen für jede GC Phase
  • -XX:+PrintGCDateStamps - Zeitstempel zu GC-Logs hinzufügen
  • -XX:+PrintReferenceGC - hilft, Referenzmissbrauch zu finden
  • -XX:+PrintPromotionFailure
  • -XX:+PrintGCApplicationStoppedTime - Melden Sie alle sicher Punkte nicht nur GC

More comprehensive list of GC options.

1

Die Protokollierung der Speicherbereinigung hängt vom Typ der verwendeten JVM ab. Abhängig von der verwendeten JVM gibt es verschiedene Parameter, um die GC-Protokollierung zu aktivieren. Im Folgenden sind Parameter, die GC-Protokollierung einbezogen werden müssen, damit:

SUN JVM: -XX: + PrintGCDetails -XX : + PrintGCDateStamps (es Zeit und Datum gedruckt wird) -verbose: gc - Xloggc: /path/gc.log

Hinweis- -XX: + PrintGCTimeStamps (Es wird die Zeit nach dem JVM-Neustart in Sekunden und nicht der Zeitstempel im Format hh: mm: ss gedruckt. Dies ist etwas schwierig zu interpretieren Daher wird empfohlen, stattdessen PrintGCDateStamps zu verwenden)

JRockit -Xverbose -XverboseTimeStamp -Xverboselog: /path/gc.log

IBMJ9 -verbose: gc

1

Sie möchten auf Java Flight Recorder suchen, die Ihnen die vollständige GC gibt Statistiken mit sehr wenig Overhead. Sie können die JFR-Aufzeichnung starten, während die Anwendung ausgeführt wird. Die generierte Ausgabedatei enthält detaillierte Informationen zu den GC-Statistiken. Sie müssen die Ausgabe-Jfr-Datei mit Java Mission Control öffnen.

0

verwendete ich mit diesen Optionen arbeiten GC Leistung für Sun/OpenJDK JVM zu analysieren:

# Details drucken GC info

-XX:+PrintGCDetails

# print Ersttagsstempeln bei GC Veranstaltungen, um zu korrelieren sie mit Anwendungen Ausgaben

-XX:+PrintGCDateStamps

# drucken HEAP Verbrauch (vor GC, nach GC, Young Gen, alte Gen, ...).

-XX:+PrintHeapAtGC

# print Referenzverarbeitungszeit während STW Pause

-XX:+PrintReferenceGC

# print Junge Gen Entscheidung JVM gemacht. hilfreich, wenn Sie eine Größe für junge Gen mit NewRation Option nicht

-XX:+PrintAdaptiveSizePolicy

# hinzufügen GC verursacht protokolliert (System.gc, Förderung Versagen, gleichzeitigen Modus Versagen, ...)

-XX:+PrintGCCause

gesetzt # hinzufügen Details zur Förderung Ausfall

-XX:+PrintPromotionFailure

# print Verteilung von Java-Objekten, die die Youn Gen basierend auf ihrem Alter zu füllen. Hilfreich, um zu sehen, ob Ihr Eden und Survivor Spaces

-XX:+PrintTenuringDistribution

gut dimensioniert sind