Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2603 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème de mémoire...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de mémoire...

n°1146223
Kineas
Posté le 11-07-2005 à 12:52:28  profilanswer
 

Bonjour a tous,  
Voila mon prbleme : je travaille sur des tableau de tres grande dimension (3 tableau de 65535 elements). Dans un premier temps j'ai eu droit a l'erreur java.lang.OutOfMemoryError.
Apres quelques recherches, j'ai rajoute ceci dans ma ligne de commande : -Xms256m.
J'ai désormais une autre erreur :  
            Error occurred during initialization of VM
            Incompatible initial and maximum heap sizes specified
 
Est-ce que quelqu'un peut m'aider ?
 
PS : je travaille sous Windows XP avec Eclipse.

mood
Publicité
Posté le 11-07-2005 à 12:52:28  profilanswer
 

n°1146239
Mario_
Vive le pingouiboulga !!
Posté le 11-07-2005 à 13:08:46  profilanswer
 

J'ai eu le même problème et je l'ai réglé avec le paramètre suivant : -Xmx1024m.
J'ai pas cherché à comprendre la signification précise mis à part que la limite supérieure de ma mémoire est maintenant de 1024 mo.
Bref, chez moi ça marche tout seul, j'ai un x et toi un s dans ce paramètre, ça vient peut-être de là [:spamafote]


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
n°1146240
Taz
bisounours-codeur
Posté le 11-07-2005 à 13:09:10  profilanswer
 

des tableaux de quoi ?

n°1146248
Kineas
Posté le 11-07-2005 à 13:15:08  profilanswer
 

Merci Mario_ ca a l'air de marcher avec le x et pas le s mais pourquoi ac j'en sais vraiment rien !
Mais bon l'essentiel c'est que ca marche !
Merci encore

n°1146257
the real m​oins moins
Posté le 11-07-2005 à 13:29:15  profilanswer
 

Kineas a écrit :

pourquoi ac j'en sais vraiment rien !
Mais bon l'essentiel c'est que ca marche !


tu sors, ou tu vas lire ça:
http://java.sun.com/docs/hotspot/VMOptions.html
http://blogs.sun.com/roller/resour [...] -list.html


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1146269
Kineas
Posté le 11-07-2005 à 13:40:04  profilanswer
 

-Xms<size> -> set initial Java heap size
-Xmx<size> -> set maximum Java heap size
 
Ok ca parait tout de suite plus clair...

n°1146279
Mario_
Vive le pingouiboulga !!
Posté le 11-07-2005 à 13:45:41  profilanswer
 

En effet :D


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
n°1155676
Kineas
Posté le 21-07-2005 à 11:12:32  profilanswer
 

Bonjour tout le monde,  
J'ai encore un problème en rapport avec cette erreur je crois.
En fait j'ai du passer mon projet sous Jbuilder et j'ai désormais l'erreur suivante :  
          - java.lang.StackOverflowError
Je pense que c'est la meme erreur mais seulement je ne sais pas ou rentrer l'option -Xms512 dans jbuilder ??!!
Quelqu'un peut m'aider ?


Message édité par Kineas le 21-07-2005 à 11:12:53
n°1155785
Kineas
Posté le 21-07-2005 à 11:49:00  profilanswer
 

j'ai rajouter ca dans les options du projet :  
-Xms512m -Xmx1024m
Mais j'ai toujours la meme erreur : java.lang.StackOverflowError !
Cette erreur est bien due au fait qu'il n'y a pas assez de mémoire aloué pour le projet non ?

n°1155831
Mario_
Vive le pingouiboulga !!
Posté le 21-07-2005 à 12:09:35  profilanswer
 

Non, le problème de mémoire c'est un OutOfMemoryError qui est envoyé.
Là, il semblerait que ce soit une erreur de récursion trop profonde (sauf erreur). T'as changé ton code entre JBuilder et Eclipse ? :heink:


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
mood
Publicité
Posté le 21-07-2005 à 12:09:35  profilanswer
 

n°1155835
theshockwa​ve
I work at a firm named Koslow
Posté le 21-07-2005 à 12:11:54  profilanswer
 

quoi qu'il en soit, c'est sur que de changer la taille du tas ne résoudra pas un problème lié à la pile ...

n°1155860
Kineas
Posté le 21-07-2005 à 12:19:52  profilanswer
 

Ok je vais essayer de trouver ce qui cause ca alors (en fait je m'etait focaliser sur cette erreur de mémoire en étant persuadé que le problème venait de là ...)
Par contre Mario qu'est ce que tu entends par recursion trop profonde ?

n°1155873
theshockwa​ve
I work at a firm named Koslow
Posté le 21-07-2005 à 12:23:51  profilanswer
 

t'as jamais eu de cours sur la programmation ? :o

n°1155881
Kineas
Posté le 21-07-2005 à 12:27:17  profilanswer
 

Ben si mais en fait je n'ai aucune fonction récursive dans mon projet donc je me demandais s'il ne faisait pas allusion a autre chose !

n°1155884
Kineas
Posté le 21-07-2005 à 12:29:07  profilanswer
 

C'est bon j'ai trouvé d'ou evnait l'erreur ! Me reste plus qu'a la corriger ! Merci pour votre aide !

n°1155887
theshockwa​ve
I work at a firm named Koslow
Posté le 21-07-2005 à 12:30:13  profilanswer
 

dans ce cas, ca veut dire que tu sature ta pile avec les variables locales d'une fonction :/
 
D'un autre côté, c'est sur que si tu y vas à coup de tableaux de 65536 éléments, ta pile ne durera pas longtemps

n°1157081
Mario_
Vive le pingouiboulga !!
Posté le 22-07-2005 à 12:37:08  profilanswer
 

Par récursion, j'entendais une récursivité quasi-sans fin en effet.
Tant mieux si t'as réussi à corriger l'erreur. Ca venait des paramètres d'exécution ?


---------------
Soyons ouverts d'esprit, mais pas au point de laisser notre cerveau s'enfuir.
n°1158042
Profil sup​primé
Posté le 23-07-2005 à 20:23:27  answer
 

Bonjour,
 
Je suis débutant en java et j'ai aussi ce probleme en java sur un de mes programes .J'utilise  5 boules imbriqués ,jusqu'a 20 le programe fonctionne,mais si je passe les boucles a 30 j'ai ce probleme (out of memory).
 
D'apres ce que je l'ai lu ds ce topic,la mémoire est stokée ds la pile et non ds la memoire vive?
Si on  remplace la pile par une de plus grande capacité cela peut résoudre le probléme ?
Peut on se servir du disque dur pour décharger la pile?
 
Merci pour vos réponses.

n°1158054
Taz
bisounours-codeur
Posté le 23-07-2005 à 20:59:25  profilanswer
 

et elle est ou la pile ? sur une la pile du bios ? si tu bouffes du stack overflow, ça veut dire que ta récursion ne rencontre pas de condition d'arret ...
 
 
tiens juste comme ça, ça gère bien la récursivité terminale javac ?

n°1158122
Profil sup​primé
Posté le 24-07-2005 à 00:04:10  answer
 

Combien peut on allouer a la jvm au maximun?

n°1158129
Taz
bisounours-codeur
Posté le 24-07-2005 à 00:12:43  profilanswer
 

allo ? c'est un bug, pas un mauvais réglage !

n°1158489
Profil sup​primé
Posté le 24-07-2005 à 21:26:44  answer
 

Existe une classe ou une solution pour liberer la memoire en java?

n°1158492
Taz
bisounours-codeur
Posté le 24-07-2005 à 21:29:14  profilanswer
 

tu peux appeler le gc explicitement. RTFM. Mais ça ne changera rien, ça plantera toujours.

n°1158544
sircam
I Like Trains
Posté le 24-07-2005 à 22:21:32  profilanswer
 

Taz a écrit :

tu peux appeler le gc explicitement. RTFM. Mais ça ne changera rien, ça plantera toujours.


Tu peux aussi déréférencer explicitement. C'est pas habituel, mais ça donne un indice au GC, et dans des cas très particuliers, ça peut aider. Idem avec un appel explicite au GC. Certains GC sont parfois pris de cours, laissant un peu trop aller la conso mémoire, et parfois ça tourne mal, alors il peut être utile de kicker le GC.
 
Mais bon, ça reste des cas vachement limites et pas forcément applicables ici.  [:airforceone]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1158598
Taz
bisounours-codeur
Posté le 24-07-2005 à 23:51:41  profilanswer
 

ici ça ne sert à rien.
 
Mettre à null, c'est pas inhabituel, c'est même conseilleur pour éviter les fuites de mémoires quand tu gères une collections d'objets. Par exemple, tu implémentes une pile : après avoir enlever un élément de la pile, il ne faut pas se contenter de décrémenter la variable qui indique le sommet de la pile, il faut mettre à nul l'emplacement de l'ancien sommet, pour ne pas garder une référence à l'objet qu'on vient de retourner.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème de mémoire...

 

Sujets relatifs
Probleme de mapping memoire[résolu]probleme allocation memoire
[C] problème avec libération de la mémoireproblème désallocation mémoire (résolu)
[debutant] Probleme d'allocation memoire pour de grands tableaux[Java] Problème de taille mémoire avec un JTree
Mmap probleme d allocation memoire d un tableau double entrée[perl] sbrk échoue, problème de consommation mémoire excessive
[C++] Probleme d'allocation memoire avec newJ'aurais pas un problème de mémoire?
Plus de sujets relatifs à : Problème de mémoire...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR