3 Stimmen

Definition von Java's mark-preclean-sweep-reset GC Zeilen?

Kann jemand bitte einige Einblicke in die folgenden verbosegc Zeilen auf eine Java-Laufzeit mit CMS GC aktiviert bieten? Genauer gesagt:

  1. Ist die Veranstaltung bei 29.490 den Standort des Hochwassers für die Markierung angeben?
  2. Was ist die preclean Phase und was macht sie anders als die Markierung?
  3. Was ist die reset Phase? Warum sollte dies Zeit in Anspruch nehmen, wenn es sich nicht nur um das Ende der Durchsuchung handelt?
  4. Schließlich, was ist die Rescan , grey y root Rescans und remark Bereiche und Metriken zur Veranstaltung unter 29.653 ? Sollen wir annehmen, dass es sich dabei nur um gemeldete Heap-Metriken für den nachfolgenden Sweep handelt? Wenn ja, warum verbrauchen sie Zeit?

verbosegc-Protokollauszug:

29.490: [GC [1 CMS-initial-mark: 16225K(17684K)] 16737K(22420K), 0.0030839 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
29.494: [CMS-concurrent-mark-start]
29.652: [CMS-concurrent-mark: 0.158/0.158 secs] [Times: user=0.16 sys=0.00, real=0.16 secs]
29.652: [CMS-concurrent-preclean-start]
29.652: [CMS-concurrent-preclean: 0.000/0.000 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
29.653: [GC[YG occupancy: 512 K (4736 K)]29.653: [Rescan (non-parallel) 29.654: [grey object rescan, 0.0001517 secs]29.654: [root rescan, 0.0030887 secs], 0.0033817 secs]29.657: [weak refs processing, 0.0000271 secs] [1 CMS-remark: 16225K(17684K)] 16737K(22420K), 0.0035183 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
29.658: [CMS-concurrent-sweep-start]
29.679: [CMS-concurrent-sweep: 0.022/0.022 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
29.680: [CMS-concurrent-reset-start]
29.703: [CMS-concurrent-reset: 0.022/0.022 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
29.797: [GC 29.797: [DefNew: 4736K->512K(4736K), 0.0207183 secs] 20800K->17172K(31512K), 0.0209119 secs] [Times: user=0.01 sys=0.02, real=0.03 secs]

Danke,

2voto

Stephen C Punkte 665668

Lesen Sie die "Verstehen von Concurrent Mark Sweep Garbage Collector Logs" Artikel auf der Website der Sun. Ich denke, damit sind die meisten Ihrer Fragen zu den Protokollen beantwortet. Weitere Hintergrundinformationen zu Javas Concurrent GC finden Sie in der "Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning" Seite.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X