Ho eseguito il comando jmap -heap
sul nostro applicazioni Java ed ecco quello che ho ottenuto:Stringhe internate non in permgen?
C: \ Program Files \ Java \ jdk1.7.0_05 \ bin> jmap -heap 2384 Collegamento per elaborare ID 2384, attendere ... Debugger collegato correttamente. Rilevatore server rilevato.
La versione JVM è 23.1-b03
utilizzando thread paralleli nella nuova generazione.
utilizzando l'allocazione di oggetti locali del thread.
Concurrent Mark-sweep GC
Heap di configurazione:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 1073741824 (1024.0MB)
newSize = 1.310.720 (1.25MB)
MaxNewSize = 17.592.186,044415 millions MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 134217728 (128.0MB)
01.235.164,106 milaMaxPermSize = 201.326.592 (192.0MB)
G1HeapRegionSize = 0 (0.0MB)
Uso Heap:
New Generation (Eden + 1 Survivor Spazio):
capacità = 228.261.888 (217.6875MB)
utilizzato = 203.794.000 (194.3531036376953MB)
libero = 24.467.888 (23.334396362304688MB)
89,28078260703775% utilizzato
Eden Spazio:
capacità = 202.964.992 (193.5625MB)
utilizzato = 198.399.360 (189.2083740234375MB) 0.123.509,529939 millions libera = 4.565.632 (4.3541259765625MB)
97,75053226913141% utilizzato
From Space:
capacità = 25.296.896 (24.125MB)
utilizzato = 5.394.640 (5.1447296142578125MB)
libero = 19.902.256 (18.980270385742188MB)
21,325304100550518% utilizzato
allo spazio:
capacità = 25.296.896 (24.125MB)
utilizzato = 0 (0.0MB)
libero = 25.296.896 (24.125MB)
0,0% utilizzato
concomitante generazione mark-sweep:
capacità = 506.445.824 (482.984375MB)
utilizzato = 159.479.408 (152.09141540527344MB)
libero = 346.966.416 (330.89295959472656MB)
31,489924576809226% utilizzato
Perm Generation:
capacità = 134217728 (128.0MB)
utilizzato = 72157448 (68.81470489501953MB)
gratuito = 62060280 (59.18529510498047MB)
53.76148819923401% utilizzato
96874 stringhe internate che occupano 89695496 byte.
Quindi sembra che ci siano circa 89mb di corde internate in 68mb di Permgen. Ci sono stringhe internate che non sono memorizzate nel Permgen?
Perché ti interessa? Sospetto che tu stia cercando di microgestire. –
@HotLicks - Perché stiamo avendo un'eccezione OOM di permgen e stavo cercando di escludere l'internamento delle stringhe. Più la curiosità ovviamente :) – Vic