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

Java Discussion :

Comment resoudre l'erreur OutOfMemory


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 95
    Par défaut Comment resoudre l'erreur OutOfMemory
    Bonjour,

    Je suis en train de programmer une application Java permettant de minimiser toute expression booléenne en utilisant la méthodologie QuineMcCluskey. Lorsque je compile mon code, j'ai une erreur OutOfMemory avec le message "Java heap space"!

    Si je comprends bien, l'exception peut avoir plusieurs origines:

    • L'espace mémoire alloué au segment de mémoire de la machine virtuelle Java est insuffisant pour créer les objets requis par l'application.
    • Une fuite de mémoire empêche le ramasse-miettes de libérer des objets non encore utilisés mais ayant toujours des références. Ainsi, ces objets ne sont jamais libérés et occupent de plus en plus d’espace dans la pile jusqu’à occuper tout l’espace disponible.
    • ...


    Le problème est-il dû à Eclipse ou du programme programme que je lance depuis Eclipse ?

    Je sais qu’il peut être nécessaire d’utiliser un outil de profilage pour analyser le contenu de la mémoire de la machine virtuelle Java et déterminer l’origine de la consommation de mémoire. Mais comment utiliser ces outils?

    Dois-je modifier les données xmx et xms? Quelles pourraient être les conséquences si je les change? (Je sais aussi qu'il faut optimiser mon code).Sachant que cette application doit être utilisée par beaucoup d'utilisateurs (donc par différents ordinateurs ...), les modifications de xmx et xms seront-elles pris en compte sur un autre poste ?


    Quelles sont les différentes étapes de débogage?
    Comme vous pouvez le voir, j'ai beaucoup de questions ... C'est pourquoi j'ai créé ce post, j'aimerais résoudre ce problème de la meilleure manière tout en apprenant les bon réflexes.

    Je vous remercie!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 131
    Par défaut
    Salut,

    La premiere des choses a comprendre est comme tu l'as ecrit si le probleme est du a une surconsomation de la memoire a cause d'un probleme de code ou simplement que ta memoire est insuffisante pour les taches que ton programme doit executer.

    La chose la plus basique pour identifier ton cas est d'allouer exagerement de la memoire a ton programme. Si celui ci tombe a nouveau en OutOfMemory, il y aura une forte chance que ce soit un probleme de code.
    Si tu vois en revanche que la consomation de la memoire reste stable a partir d'un certain pourcentage alors tu comprendras que tu dois allouer plus de resources a ton programme et dans ce cas la peut etre chercher a optimiser ton code si l'utilisation memoire reste cependant stable mais importante.

    Dans le cas ou cela est du a un probleme de code, un outil de profilage te sera forcement d'une grande aide. Il te permettra de voir le nombre d'instances crees par type d'objet. Cela te donnera peut etre une premiere piste.
    Tu peux egalement voir si une methode prend de maniere innatendu enormement de temps a s'executer.

    Je pense que ce sont les premieres etapes a faire.

    Bonne chance

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 95
    Par défaut
    Merci beaucoup pour ta réponse.

    Je vais donc commencer à augmenter l'espace mémoire d'alloué à mon programme. Pour cela, si j'ai bien saisi ce que j'ai pu lire sur internet, je dois changer augmenter xms et xmx. Si la consommation mémoire reste stable, est ce que cela sera le cas si j’exécute mon programme sur un autre poste ?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 131
    Par défaut
    Salut,

    Je ne comprend pas trop ta question sur l'autre poste.
    Tu peux executer ton programme sur n'importe quel poste tant qu'il a assez de ressources memoires, stockages etc

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/12/2016, 23h51
  2. [AC-2003] comment resoudre le message d'erreur
    Par chuspyto dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/10/2009, 03h39
  3. Comment resoudre des erreurs sous c++ builder
    Par steph496 dans le forum C++Builder
    Réponses: 7
    Dernier message: 02/06/2009, 11h52
  4. [ODP][TAF]Comment résoudre l'erreur TNS-12152 ?
    Par Laurent Dardenne dans le forum Oracle
    Réponses: 2
    Dernier message: 21/04/2005, 19h10
  5. [web] comment afficher les erreur d'un cgi
    Par chtiboss dans le forum Web
    Réponses: 6
    Dernier message: 24/12/2003, 11h22

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