IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

[Java Error] java.lang.OutOfMemoryError : GC overhead limit exceeded


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut [Java Error] java.lang.OutOfMemoryError : GC overhead limit exceeded
    Bonjour,

    je travaille sous Talend Integration Service (un ETL qui génère du code Java).
    Je suis coincé avec une erreur sur le serveur, en effet lors de l'exécution le système retourne l'erreur :

    Exception in thread "Thread-0" java.lang.OutOfMemoryError: GC overhead limit exceeded

    Sur un site internet, j'ai trouvé quelques éléments de réponse mais qui ne me satisfont pas.
    Le problème viendrait du temps trop important que le ramasse-miettes passe à gérer la mémoire. Cette erreur empêche les applications de s'éterniser, en passant la plus grande partie de leur temps à gérer la mémoire plutôt qu'à progresser dans leur exécution.

    La solution proposée consiste à désactiver le mécanisme générant cette erreur, en ajoutant le paramètre -XX:-UseGCOverheadLimit.

    J'ai appliqué cette modification et j'observe, que l'erreur a disparu, mais aussi que notre programme ne se termine jamais et accapare une grande partie de la mémoire et de la charge processeur du serveur.
    Je suppose que le programme, comme expliqué ci-dessus, ne progresse pas ou peu dans son exécution, la puissance de calcul et la mémoire étant allouées à la gestion de mémoire.

    Pourriez-vous m'aider à résoudre ce problème ou exprimer votre avis sur la question.

    Je vous remercie de votre attention,

    Adrien.

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    votre application est vraissemblablement à la limite des possibilité mémoire. Elle fait une petite allocation, une libération, une petite allocation qui entrainte une full GC, une libération, une petite allocation qui entraine un full GC, etc.

    Bref, elle est à l'étroit. Essayer d'augmenter la mémoire allouée à la JVM. (parametre -Xmx)

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ignorer l'exception ne supprime pas le problème...
    Comme indiqué dans le lien que tu donnes, cette exception survient le GC occupe plus de 98% du temps de ton application...

    Il est préférable de planter l'application plutôt que de la faire continuer dans de telle condition...


    Pour corriger le problème il serait préférable d'en comprendre l'origine.
    Quel sont les traitements effectués ? Tu utilises beaucoup d'objet temporaires ? Quel quantité de mémoire manipules-tu ? Avec quelle taille pour le heap ?


    a++

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Le problème est résolu j'ai doublé la capacité mémoire allouée au processus.
    Je vous remercie pour votre aide.

Discussions similaires

  1. java.lang.OutOfMemoryError: GC overhead limit exceeded
    Par recherche888 dans le forum MATLAB
    Réponses: 4
    Dernier message: 20/03/2012, 13h25
  2. gc overhead limit exceeded
    Par Aymanus dans le forum JPA
    Réponses: 6
    Dernier message: 20/09/2011, 19h23
  3. Faible performance Tomcat "GC overhead limit exceeded"
    Par questionneuse dans le forum Tomcat et TomEE
    Réponses: 17
    Dernier message: 14/09/2011, 15h19
  4. java.lang.OutOfMemorryError : GC overhead limit exceeded
    Par Yozol dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 06/10/2010, 11h37
  5. ERROR : java.Lang.OutOfMemoryError
    Par meriyem dans le forum Wildfly/JBoss
    Réponses: 7
    Dernier message: 01/10/2009, 11h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo