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 :

Java Heap Space memory


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Par défaut Java Heap Space memory
    Bonjour tout le monde,

    Je suis entrain de faire certaines expérimentations sous Java, ça consiste à traiter des données et mesurer le temps de traitement nécessaire en augmentant la taille des données progressivement. Pour gagner du temps je lance la même application sur deux machines différentes:

    1) Une unité HP core de duo, 3.16 GHZ, 4G de RAM, système Ubuntu 10.04 Lucid.
    2) Un pc portable Dell inspiron core i3, 2.4 GHZ, 4G de RAM, système Ubuntu 12.10 (quantal).

    Je dédie 3G de RAM à mon projet java.

    En utilisant la première machine HP aucun problème ne se pose, par contre avec mon pc portable Dell, quand je dépasse certaine taille j'obtiens le problème de mémoire: "java.lang.OutOfMemoryError: Hava heap space", alors qu'à mon avis cette machine est plus performante que la première.

    Avez-vous une idée de ce problème ? est-il un défaut du système ubuntu 12.10 ?

    Merci d'avance.

    Cordialement.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Si elle est plus performante il y'a un possibilitées qu'elle a donc emmagasiner plus de données et donc que sa mémoire soit saturée plus rapidement d'ou le message ?

    Sinon quoiqu'il en soit ce n'est pas un problème d'OS ou de machine, c'est tout simplement que tu demandes plus de mémoire que disponible.

    Il faut soit l'augmenter (paramètres xms, xmx etc), soit trouver un moyen de réduire l'utilisation mémoire.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Si elle est plus performante il y'a un possibilitées qu'elle a donc emmagasiner plus de données et donc que sa mémoire soit saturée plus rapidement d'ou le message ?

    Sinon quoiqu'il en soit ce n'est pas un problème d'OS ou de machine, c'est tout simplement que tu demandes plus de mémoire que disponible.

    Il faut soit l'augmenter (paramètres xms, xmx etc), soit trouver un moyen de réduire l'utilisation mémoire.
    Merci wax78 pour votre réponse,

    J'ai déjà essayé d'augmenter la mémoire sur mon pc portable en faisant -Xms1024m -Xmx3072m, mais toujours le même problème se pose, alors que pour la première machine j'arrive à exécuter mon application en attribuant seulement 2G de RAM au projet (-Xms1024m -Xmx2048m). J'ai vu avant le lancement de l'application qu'il n'y a pas de des processus qui bouffent de la mémoire !!! je ne sais d'où viens ce problème ???

  4. #4
    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,

    Quel est la version exacte de java sur les 2 machines (valeur retournée par java -version) ?


    a++

  5. #5
    Membre Expert
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Par défaut
    Plop,

    Quelle est l'architecture des deux machines ? Une machine 32 bits ne peut adresser que 4 Go de mémoire à un processus (en sachant qu'une partie est réservée au système, une valeur variant avec les OS, mais pouvant atteindre 1Go).

    Pourquoi ne pas simplement adresser 2Go puisque cela fonctionne ? Ou si tu requiers une certaine puissance de calcul, essaye de répartir ton application sur plusieurs machines, en utilisant des technos à la Hadoop.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Par défaut
    Citation Envoyé par olivier.pitton Voir le message
    Plop,

    Quelle est l'architecture des deux machines ? Une machine 32 bits ne peut adresser que 4 Go de mémoire à un processus (en sachant qu'une partie est réservée au système, une valeur variant avec les OS, mais pouvant atteindre 1Go).

    Pourquoi ne pas simplement adresser 2Go puisque cela fonctionne ? Ou si tu requiers une certaine puissance de calcul, essaye de répartir ton application sur plusieurs machines, en utilisant des technos à la Hadoop.
    Bonjour,

    Les deux machines ont une architecture 64 bits.
    Non, pour la deuxième machine ça fonctionne pas avec 2Go c'est pour cette raison que j'ai essayé d'aller jusqu'à 3Go mais ça ne fonctionne toujours pas. Par contre, pour la première machine 2Go suffit largement.

    A+

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Par défaut
    Citation Envoyé par olivier.pitton Voir le message
    Plop,

    Quelle est l'architecture des deux machines ? Une machine 32 bits ne peut adresser que 4 Go de mémoire à un processus (en sachant qu'une partie est réservée au système, une valeur variant avec les OS, mais pouvant atteindre 1Go).

    Pourquoi ne pas simplement adresser 2Go puisque cela fonctionne ? Ou si tu requiers une certaine puissance de calcul, essaye de répartir ton application sur plusieurs machines, en utilisant des technos à la Hadoop.
    Rebonjour,

    Comment peut-on utiliser ces techniques à la Hadoop ???

    Merci d'avance.

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,

    Quel est la version exacte de java sur les 2 machines (valeur retournée par java -version) ?


    a++
    Bonjour,

    Voici les valeurs exactes retournées par la commande java -version:
    1ère machine: 1.6.0_24
    2ème machine: 1.7.0_09

    A+

  9. #9
    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
    Citation Envoyé par Laurent_3154 Voir le message
    Voici les valeurs exactes retournées par la commande java -version:
    1ère machine: 1.6.0_24
    2ème machine: 1.7.0_09
    En fait je voulais le détail complet retournée par java -version, avec le nom de la JVM, etc...

    Les deux JVM sont-elles en 32 bits ou en 64 bits ?


    a++

Discussions similaires

  1. Java Heap Space out of memory
    Par lelfedesboa dans le forum Langage
    Réponses: 1
    Dernier message: 22/05/2013, 16h50
  2. out of memory java heap space : 2048M pas suffisant?
    Par waflyx dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 21/12/2007, 19h58
  3. [Info] Chargement image et Java heap space
    Par dazz_x dans le forum Langage
    Réponses: 9
    Dernier message: 11/09/2007, 11h51
  4. Eclipse erreur : java.lang.OutOfMemoryError: Java heap space
    Par sderecourt dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 14/04/2006, 11h28
  5. [ memoire ] Java Heap Space
    Par natha dans le forum Général Java
    Réponses: 10
    Dernier message: 23/01/2006, 11h15

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