La mia app mostra in aumento la dimensione 'Vecchia generazione'/'Generazione tenificata', e quando raggiunge il limite massimo per 'Vecchia Gen', allora improvvisamente aumenta la dimensione PermGen. Qui sono i miei sizings generazione:Java HotSpot 1.6 VM, Garbage Collection - PermGen
-Xmx1200m -Xms1200m -Xmn450m -XX:MaxPermSize=600m -XX:+UseParallelGC
Questo è su 32 bit Fedora quindi non può avere un mucchio più grande di questo.
L'app non sta facendo alcun elegante caricamento di classe, sebbene stia utilizzando Spring IOC e Hibernate, l'app Spring-context.xml definisce circa 1000 bean.
Questa app inizia con 175 MB PermGen, che aumenta costantemente fino a ~ 250 MB in poche ore, rimane fino a quando la generazione di Tenured raggiunge ~ 780 MB, quindi permgen salta a ~ 500 MB mentre Old Gen scende a ~ 500 MB.
Questo mi costringe a riavviare l'App su base giornaliera, e mi dà un vero spavento di errore OutOfMemory incombente. Qualsiasi approfondimento sarebbe molto utile.
Grazie Gala101
13/Maggio: Qualcuno potrebbe gettare luce su ciò che accade quando 'Old Gen' è garbage collection?
La jvm inserisce le raccolte da "Old Gen" in PermGen?
Il mio picco PermGen arriva solo quando la raccolta avviene da "Old Gen", anche la diminuzione della dimensione di OldGen corrisponde strettamente all'aumento delle dimensioni di PermGen.
PS: Non eseguo alcuna implementazione/distribuzione in tempo reale perché sicuramente mangerò PermGen.
Qui di seguito è uno spanshot corrente dalla mia pagina di monitoraggio: (la parte impegnata aveva appena saltato da ~ 250 MB a 500 MB)
PS Perm Gen
Type Non-heap memory
Usage init = 16777216(16384K) used = 254453736(248489K) committed = 504954880(493120K) max = 629145600(614400K)
Peak Usage init = 16777216(16384K) used = 254453736(248489K) committed = 504954880(493120K) max = 629145600(614400K)
Collection Usage init = 16777216(16384K) used = 252421536(246505K) committed = 504954880(493120K) max = 629145600(614400K)
Per quanto ne so il MaxPermSize non può essere superiore a 256 MB ... –
@Bozhidar: Non è vero, la dimensione PermGen può essere molto più grande di quello – skaffman