PS Old Gen in Heap utilizzo della memoria: le impostazioni GC
Qui di seguito sono le mie impostazioni JVM:
JAVA_OPTS=-server -Xms2G -Xmx2G -XX:MaxPermSize=512M -Dsun.rmi.dgc.client.gcInterval=1200000 -Dsun.rmi.dgc.server.gcInterval=1200000 -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:+UseCompressedOops -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jbos88,server=y,suspend=n
Problema: totale della memoria heap: 2GB Old Gen: 1.4GB (2/3 di Heap) New Gen: 600 MB (1/3 di Heap)
The Old Gen cresce in memoria oltre il 70% 0f della sua dimensione allocata e non è mai sottoposto a GC anche al 100% cioè 1,4 GB. Si può vedere il grafico sotto i picchi e mai GC, il calo della memoria è quando è stato forzato a GC dalla JConsole. Questo problema sta alla fine portando giù il web server.
Qualcosa che mi manca o che imposta erroneamente la JVM?
Grazie per l'aiuto in anticipo.
Aggiornamento mia interrogazione:
Dopo l'analisi mucchio appare come stateful session bean è il primo sospettato: Abbiamo session bean stateful che tengono la logica di persistenza assistito da Hibernate.
vedi la terminazione JVM con 'OutOfMemoryError Heap Space'? o ti stai aspettando che il vecchio GC di gen venisse eseguito prima? –