Profiler und Garbage Collector
Lange konnte ich mir nicht erklären, warum der Speicherverbrauch hochgeht, wenn man in einem Profiler (z.B. der in Netbeans) viele Male den Garbage Collector ankickt. Das sieht dann ungefähr so aus:
An der dunkelroten Linie habe ich wie wild auf dem GC-Button (siehe Kreis links oben) geklickt. Und nun geht der reservierte Speicher hoch? Wieso nur?
Vor zwei Wochen habe ich mich nun intensiv mit den in Java vorhandenen Collectoren auseinandergesetzt. Die Collectoren sind so implementiert, dass sie bestimme Ziele erreichen:
- Maximum pause time goal
- Throughput goal
- Minimum footprint goal
Die maximale Pausenzeit meint, dass die durch den Collector verursachte Unterbrechung nur einen definierten Wert erreicht. Der maximale Wert ist aber standardmäßig auf unendlich, so dass versucht wird Ziel 2 zu erreichen. Es geht beim Throughput darum, das Verhältnis “Aufenthalt in der Applikation” zu “Aufenthalt im Collector” zu Gunsten der Applikation ausfallen zu lassen. Wenn nun der GC oft läuft (mein ‘tolles’ Klicken auf dem GC-Button) dann reserviert er immer mehr Speicher, damit er das nächste Mal nicht mehr sofort laufen muss. Er lebt also in der Annahme, dass er gelaufen ist, weil er Garbage wegräumen musste und versucht das Verhältnis zu verbessern, in dem er mehr Speicher für Objekte zur Verfügung stellt.
-
Articles
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- May 2011
- April 2011
- February 2011
- January 2011
- December 2010
- November 2010
- May 2010
- April 2010
- March 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- March 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
-
Meta





