gc overhead limit exceeded
Bonjour,
Nous avons développer une application JPA(Eclipselink) + JSF +Richfaces.
Mais lors de mettre notre application en production. On a remarqué qu'à chaque requête de la base, la mémoire du serveur se remplie encore plus jusqu'à arriver à une saturation d'utilisation de la mémoire 100% et ainsi on a l'exception :
Code:
java.lang.outofmemoryerror gc overhead limit exceeded
Il faut qu'on redémarre Tomcat pour la mémoire se libère à nouveau.
J'ai essayé la libération du cache chaque 1minute avec JPA (Eclipselink):
Code:
1 2 3 4 5 6
|
@Entity
@Cache(type=CacheType.SOFT, // Cache everything until the JVM decides memory is low.
expiry=60000, // 60 seconds
coordinationType=CacheCoordinationType.INVALIDATE_CHANGED_OBJECTS // if cache coordination is used, only send invalidation messages.
) |
ou avec persistance.xml :
Code:
1 2 3 4
|
<property name="eclipselink.cache.shared.default" value="false"/>
<property name="eclipselink.cache.size.default" value="0"/>
<property name="eclipselink.cache.type.default" value="None"/> |
mais cela ne fonctionne pas.
Je vous demande votre aide! Merci de me donner quelques idées.
J'ai poster le même message sur la section tomcat vu que je ne sais pas si c'est un problème tomcat ou JPA(Eclipselink).
Un collégue pense que le problème viens du garbage collector qui ne fait pas le boulot de la destruction des objets donc problème avec la JVM.
Je suis perdu entre tout ça. Est ce un problème tomcat, jvm ou eclipselink?
Merci à vous !