Thomas Darimont
Erfahrenes Mitglied
Hallo!
Mit dem kleinen Tool jstat kann man sich mit einer belibiegen JVM Verbinden und dort verschiedene Laufzeitstatistiken abgreifen. Es lassen sich sowohl lokal als auch remote laufende JVM anzapfen
Unteranderem lassen sich Informationen über:
-Geladene Klassen
-Kompilierte Klassen
-Garabge Collector
- ...
Mit jps lassen sich anzapfbare JVMs auf dem lokalen System auflisten.
jps und jstat gibts zwar auch schon in Java 5 aber jmap ist (zumindest für Windows JDKs) neu in Mustang.
Mit dem netten Tool jmap kann man sich gemeinsam genutzte Speicherelemente und Informationen über Objekte auf dem heap anzeigen lassen:
Die Ausgabe für einen Beispielaufruf für Eclipse 3.2.5 findet sich am Anhang.
Wie man sieht nehmen die beispielsweise von String verwendeten char[] ( [C ) am meisten Platz weg.
Gruß Tom
Mit dem kleinen Tool jstat kann man sich mit einer belibiegen JVM Verbinden und dort verschiedene Laufzeitstatistiken abgreifen. Es lassen sich sowohl lokal als auch remote laufende JVM anzapfen
Unteranderem lassen sich Informationen über:
-Geladene Klassen
-Kompilierte Klassen
-Garabge Collector
- ...
Mit jps lassen sich anzapfbare JVMs auf dem lokalen System auflisten.
Code:
C:\Programme\Java\jdk1.6.0\bin>jps
796 startup.jar
1512 startup.jar
760 Jps
jps und jstat gibts zwar auch schon in Java 5 aber jmap ist (zumindest für Windows JDKs) neu in Mustang.
Mit dem netten Tool jmap kann man sich gemeinsam genutzte Speicherelemente und Informationen über Objekte auf dem heap anzeigen lassen:
Die Ausgabe für einen Beispielaufruf für Eclipse 3.2.5 findet sich am Anhang.
Code:
C:\Programme\Java\jdk1.6.0\bin>jmap -histo 1512
num #instances #bytes class name
--------------------------------------
1: 266627 20753328 [C
2: 43018 15374672 [I
3: 94860 12520800 <constMethodKlass>
4: 94860 8357984 <methodKlass>
5: 153822 7006784 <symbolKlass>
6: 259597 6230328 java.lang.String
7: 9341 5607056 <constantPoolKlass>
8: 9341 4092328 <instanceKlassKlass>
9: 8064 3392160 <constantPoolCacheKlass>
10: 10305 3315616 [B
11: 97952 2350848 java.util.HashMap$Entry
12: 4842 1574168 [Ljava.util.HashMap$Entry;
13: 15685 1058520 [Ljava.lang.Object;
14: 13105 999832 [S
15: 38217 917208 org.eclipse.jdt.internal.core.ClassFile
16: 10152 893376 java.lang.Class
17: 21273 775472 [Ljava.lang.String;
18: 14768 636440 [[I
....
Gruß Tom