Ich habe laufen ist das jmap -heap
Befehl auf unsere laufenden Java-Anwendung und hier, was ich habe:Internierte Strings nicht in Permgen?
C: \ Programme \ Java \ jdk1.7.0_05 \ bin> jmap -heap 2384 Anbringen ID zu verarbeiten 2384, bitte warten ... Debugger erfolgreich angehängt. Server-Compiler erkannt.
JVM-Version ist 23.1-b03
mit parallelen Threads in der neuen Generation.
mit thread-lokalen Objektzuordnung.
Concurrent Mark-Sweep GC
Heap Konfiguration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 1073741824 (1024.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 134217728 (128.0MB)
MaxPermSize = 201.326.592 (192.0MB)
G1HeapRegionSize = 0 (0.0MB)
Heap-Verbrauch:
New Generation (Eden + 1 Survivor Raum):
capacity = 228.261.888 (217.6875MB)
verwendet = 203794000 (194.3531036376953MB)
frei = 24.467.888 (23.334396362304688MB)
89,28078260703775% verwendet
Eden Raum:
capacity = 202.964.992 (193.5625MB)
verwendet = 198.399.360 (189.2083740234375MB)
frei = 4.565.632 (4.3541259765625MB)
97,75053226913141% verwendet
From Space:
capacity = 25296896 (24.125MB)
verwendet = 5.394.640 (5.1447296142578125MB)
frei = 19902256 (18.980270385742188MB)
21,325304100550518% verwendet
Um Raum:
capacity = 25.296.896 (24.125MB)
verwendet = 0 (0.0MB)
frei = 25.296.896 (24.125MB)
0,0% verwendet
gleichzeitige mark-sweep Generation:
capacity = 506.445.824 (482.984375MB)
verwendet = 159.479.408 (152.09141540527344MB)
frei = 346.966.416 (330.89295959472656MB)
31,489924576809226% verwendet
Perm Generation:
capacity = 134217728 (128.0MB)
verwendet = 72157448 (68.81470489501953MB)
frei = 62060280 (59.18529510498047MB)
53.76148819923401% verwendet
96874 interned Strings besetzt 89695496 Bytes.
Es scheint also, als gäbe es etwa 89 MB internierte Strings in 68MB Permgen. Gibt es internierte Strings, die nicht im Permgen gespeichert sind?
Warum interessiert Sie das überhaupt? Ich vermute, du versuchst Mikromanagement. –
@HotLicks - Weil wir eine permgen OOM-Ausnahmen haben und ich versuchte String-Interning auszuschließen. Plus die Neugier natürlich :) – Vic