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

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] java.lang.OutOfMemoryError, comment résoudre ce pb svp ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] java.lang.OutOfMemoryError, comment résoudre ce pb svp ?

n°1502995
flashy_fib​er
Posté le 15-01-2007 à 11:12:04  profilanswer
 

Bonjour,
 
J'ai une application métier qui plante de maniere aléatoire :
 
- JVM : 1.3.1-b24
- OS : Windows 2000 Server SP4 (environnement citrix)
- Consommation mémoire : entre 30 Et 80Mo
- Mémoire serveur : 2.5Go
 
Cette application est exécutée par 10-20 utilisateurs sur le serveur.
 
Lors du plantage, voilà le message qui revient systématiquement dans le log :
 
Exception occurred during event dispatching:
java.lang.OutOfMemoryError
 <<no stack trace available>>

 
Je précise que je ne connais absolument rien en programmation.
Si qq a une idée pou résoudre ce problème, merci d'avance


Message édité par flashy_fiber le 15-01-2007 à 11:12:29
mood
Publicité
Posté le 15-01-2007 à 11:12:04  profilanswer
 

n°1502998
phnatomass
Je m'empare de ton esprit !!
Posté le 15-01-2007 à 11:27:22  profilanswer
 

java -Xms512m  -Xmx1024m

n°1503010
flashy_fib​er
Posté le 15-01-2007 à 11:58:00  profilanswer
 

ok merci pour l'info.
 
Je suppose que cette commande permet d'allouer de 512Mo à 1024Mo ?
 
 
Peux tu m'indiquer stp à quel endroit faut il la placer ? dans le code source du programme, ou bien à l'aide d'un raccourci, par ex si l'appli s' appelle abc.jar , je peux faire un raccourci  du genre:  
 
"java -Xms512m  -Xmx1024m abc.jar" ?
 

n°1503016
gizmo
Posté le 15-01-2007 à 12:05:36  profilanswer
 

Super la soluce :/ plutot que de traquer le memory leak, on augmente la ram allouee. Ca ne fait que retarder le probleme.
 
Utilise plutot un profiler pour regarder ou tu perds de la memoire.

n°1503021
flashy_fib​er
Posté le 15-01-2007 à 12:10:35  profilanswer
 

gizmo a écrit :

Super la soluce :/ plutot que de traquer le memory leak, on augmente la ram allouee. Ca ne fait que retarder le probleme.
 
Utilise plutot un profiler pour regarder ou tu perds de la memoire.


 
Comme je disais je n'y connais absolument en programmation.
Pour le profiler, sais tu ou je peux en trouver un ? car effectivement je souhaiterai aussi savoir, à partir de combien de mémoire utilisée ça plante......

n°1503023
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2007 à 12:13:37  profilanswer
 

JProfiler fait ça très bien, et si c'est une appli métier qui n'est pas développée chez vous il faudrait faire remonter le truc au fournisseur de l'appli non?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1503024
gizmo
Posté le 15-01-2007 à 12:14:42  profilanswer
 

Hum, si tu n'y connais rien en Prog, ca va pas aider d'avoir un profiler, car t'as besoin des sources pour avoir le detail etc...
Mais ajouter de la memoire ne fera que retarder le probleme, car, a moins de manipulations exceptionnelles de gros volumes d'information, te ne devrais jamais obtenir un OutOfMemory.

n°1503032
flashy_fib​er
Posté le 15-01-2007 à 12:21:48  profilanswer
 

masklinn a écrit :

JProfiler fait ça très bien, et si c'est une appli métier qui n'est pas développée chez vous il faudrait faire remonter le truc au fournisseur de l'appli non?


 
 
Ok merci pour l'info, je vais voir de ce coté. En fait le développement de l'appli est fini depuis un bon moment, mais il restait qq bug aléatoire comme celui là. Et dans notre équipe actuelle, je vais pouvoir passer l'info.

n°1503038
flashy_fib​er
Posté le 15-01-2007 à 12:23:28  profilanswer
 

gizmo a écrit :

Hum, si tu n'y connais rien en Prog, ca va pas aider d'avoir un profiler, car t'as besoin des sources pour avoir le detail etc...
Mais ajouter de la memoire ne fera que retarder le probleme, car, a moins de manipulations exceptionnelles de gros volumes d'information, te ne devrais jamais obtenir un OutOfMemory.


 
Je vais communiquer l'outil à une personne de l'equipe qui travaille avec les sources
En fait le programme en question fait appel à de grosses bases de données, il serait donc interessant de voir ce qui pose probleme exactement

n°1503105
boulgakov
Posté le 15-01-2007 à 13:52:44  profilanswer
 

gizmo a écrit :

Hum, si tu n'y connais rien en Prog, ca va pas aider d'avoir un profiler, car t'as besoin des sources pour avoir le detail etc...
Mais ajouter de la memoire ne fera que retarder le probleme, car, a moins de manipulations exceptionnelles de gros volumes d'information, te ne devrais jamais obtenir un OutOfMemory.


 
Cette page :
 
http://java.sun.com/j2se/1.5.0/doc [...] /java.html
 
indique que la mémoire maximale que Java peut allouer par défaut (valeur par défaut de l'option -Xmx) vaut 64 Mo. Tout dépend de l'application, mais cela ne me paraît pas une limite atteignable seulement avec des manipulations "exceptionnelles" de données... Pour ma part, je travaille quotidiennement sur les applications qui manipulent des volumes de données bcp + importants.
 
D'autre part, comment peut-on avoir un memory leak en Java ? Dans les langages où la mémoire est désallouée par le programmeur, cela correspondrait (dans mon interprétation) à une désallocation oubliée. En Java le garbage collector le fait pour nous, je ne vois pas comment on peut avoir un memory leak. A la limite en ayant des objets plus utilisés mais encore atteignables dans le graphe d'objets : il faut vraiment très mal coder pour ça. Non ?


Message édité par boulgakov le 15-01-2007 à 13:53:40
mood
Publicité
Posté le 15-01-2007 à 13:52:44  profilanswer
 

n°1503133
gizmo
Posté le 15-01-2007 à 14:46:12  profilanswer
 

Non, il ne faut pas specialement coder tres mal.
 
http://www.google.com/search?clien [...] 8&oe=utf-8

n°1503154
phnatomass
Je m'empare de ton esprit !!
Posté le 15-01-2007 à 15:10:51  profilanswer
 

gizmo a écrit :

Super la soluce :/ plutot que de traquer le memory leak, on augmente la ram allouee. Ca ne fait que retarder le probleme.
 
Utilise plutot un profiler pour regarder ou tu perds de la memoire.


Ma soluce est proportionnelle au niveau de détail d'information qu'il a donné. On n'a strictement aucune info sur son appli (standalone, gui, J2EE ?).
 
De plus la consommation mémoire élevée peut être du à une brique développé en externe donc il n'aura d'autre choix d'augmenter la mémoire.

n°1503166
flashy_fib​er
Posté le 15-01-2007 à 15:28:25  profilanswer
 

phnatomass a écrit :

Ma soluce est proportionnelle au niveau de détail d'information qu'il a donné. On n'a strictement aucune info sur son appli (standalone, gui, J2EE ?).
 
De plus la consommation mémoire élevée peut être du à une brique développé en externe donc il n'aura d'autre choix d'augmenter la mémoire.


 
je sais pas si t'avais vu, suite à ta réponse je voulais savoir stp :
 
"
Je suppose que cette commande permet d'allouer de 512Mo à 1024Mo ?
 
Peux tu m'indiquer stp à quel endroit faut il la placer ? dans le code source du programme, ou bien à l'aide d'un raccourci, par ex si l'appli s' appelle abc.jar , je peux faire un raccourci  du genre:  
 
"java -Xms512m  -Xmx1024m abc.jar" ? "
 

n°1503222
phnatomass
Je m'empare de ton esprit !!
Posté le 15-01-2007 à 16:48:46  profilanswer
 

flashy_fiber a écrit :

"java -Xms512m  -Xmx1024m abc.jar" ? "


ouais
java -Xms512m  -Xmx1024m -jar abc.jar

n°1503226
flashy_fib​er
Posté le 15-01-2007 à 16:55:07  profilanswer
 

phnatomass a écrit :

ouais
java -Xms512m  -Xmx1024m -jar abc.jar


 
ok merci pour l'info, je vais regarder aussi en parallele le profiler

n°1503251
the real m​oins moins
Posté le 15-01-2007 à 17:37:36  profilanswer
 

putain mais rtfm :O

n°1503253
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2007 à 17:38:25  profilanswer
 


Hay toi tu m'as toujours pas répondu enfoiré de communiste de merde :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1503260
the real m​oins moins
Posté le 15-01-2007 à 17:47:06  profilanswer
 

euh ?
répondu a quoi ?

Message cité 1 fois
Message édité par the real moins moins le 15-01-2007 à 17:47:32
n°1503262
sircam
I Like Trains
Posté le 15-01-2007 à 17:54:40  profilanswer
 

Code :
  1. catch (OutOfMemoryError e) {
  2.     System.gc();
  3. }


Et c'est dans la poche    [:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1503267
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2007 à 18:02:41  profilanswer
 

the real moins moins a écrit :

euh ?
répondu a quoi ?


Mes questions dans blablaprog sur ta toolchain XML [:thalis]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1503274
the real m​oins moins
Posté le 15-01-2007 à 18:15:36  profilanswer
 

genre je lis blablaprog ?

n°1503278
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2007 à 18:19:37  profilanswer
 

the real moins moins a écrit :

genre je lis blablaprog ?


REPONDEZ A LA QUESTION 888


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1503280
the real m​oins moins
Posté le 15-01-2007 à 18:20:39  profilanswer
 

euh ben pose la à un endroit ou je la verrai et on verra si on peut voir, hein [:mlc]

n°1503288
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2007 à 18:26:42  profilanswer
 

Ben c'est quoi ta toolchain XML [:mlc]


Message édité par masklinn le 15-01-2007 à 18:27:01

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1503290
the real m​oins moins
Posté le 15-01-2007 à 18:32:12  profilanswer
 

euh, tu veux dire genre quels outils j'utilise pour éditer du xml a la main ? [:mlc] j'ai une tete de specialiste d'xml ? [:mlc]
rien a part intellij - qui a quand meme un excellent editeur integré [:mlc] et TextWrangler [:mlc]
un jour j'avais codé un espece de machin viteuf pour faire du search/replace en xpath, faute de trouver un outil valable qui le fasse [:mlc]


Message édité par the real moins moins le 15-01-2007 à 18:32:32
n°1503299
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2007 à 18:57:59  profilanswer
 

Ptain mais t'es un javateux merde [:mlc]
T'es censé bouffer du XML pour ton ptit dej [:mlc]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1503300
the real m​oins moins
Posté le 15-01-2007 à 18:59:31  profilanswer
 

spa pour ca que je me l'edite la main [:mlc]

n°1503312
masklinn
í dag viðrar vel til loftárása
Posté le 15-01-2007 à 19:22:57  profilanswer
 

the real moins moins a écrit :

spa pour ca que je me l'edite la main [:mlc]


Mais j'm'en fous, je veux juste les noms des outils que tu utilises pour faire du XML, que tu l'édites à la main ou en drag&droppant des boiboites j'm'en fous je veux des noms [:mlc]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1503313
the real m​oins moins
Posté le 15-01-2007 à 19:25:30  profilanswer
 

non mais ni l'un ni l'autre, je l'edite pas, stout [:mlc]
pour le reste, j'ai repondu [:mlc]

n°1503380
sircam
I Like Trains
Posté le 15-01-2007 à 21:46:05  profilanswer
 

C4EST PAS BLABLA ICI ET ON EST PAS VENDREDI 888 /MLC/

n°1503434
boulgakov
Posté le 16-01-2007 à 01:16:15  profilanswer
 

gizmo a écrit :

Non, il ne faut pas specialement coder tres mal.
 
http://www.google.com/search?clien [...] 8&oe=utf-8


 
Ah OK, pour une appli qui tourne en continu. Je fais du calcul scientifique, je rencontre le problème plutôt en C++ quand j'alloue un pointeur sans le détruire dans une boucle qui est exécutée des milliards de fois. A la limite c'est plus facile à voir, la plupart du temps le PC est à genoux en 10 secondes. Au temps pour moi.

n°1503438
0x90
Posté le 16-01-2007 à 02:16:42  profilanswer
 

masklinn a écrit :

Mais j'm'en fous, je veux juste les noms des outils que tu utilises pour faire du XML, que tu l'édites à la main ou en drag&droppant des boiboites j'm'en fous je veux des noms [:mlc]

 

remplissage récursif par application successives de ptites feuilles XSL, comme ça t'es sûr qu'à tout moment de l'édition le fichier est valide :o


Message édité par 0x90 le 16-01-2007 à 02:16:50

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1504971
Bidem
Posté le 19-01-2007 à 11:12:45  profilanswer
 

sircam a écrit :

Code :
  1. catch (OutOfMemoryError e) {
  2.     System.gc();
  3. }


Et c'est dans la poche    [:pingouino]


 
A partir du moment où tu as un OutOfMemoryError, ce n'est pas la peine d'essayer de catcher l'exception et de réparer le bousin.
 
Ton appli est dans un état non déterminé et il vaut mieux la laisser mourrir dignement ! :p
 
Et en plus je ne suis même pas sur que tu rentres dans ton block catch...

n°1504979
the real m​oins moins
Posté le 19-01-2007 à 11:17:54  profilanswer
 

ben si t'es pas sûr, évite de donner des leçons, ça vaut mieux [:mullet]

n°1504981
sircam
I Like Trains
Posté le 19-01-2007 à 11:20:11  profilanswer
 

Non mais le block catch, c'était pour rire, hein! [:alph-one]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1504993
Bidem
Posté le 19-01-2007 à 11:30:28  profilanswer
 

sircam a écrit :

Non mais le block catch, c'était pour rire, hein! [:alph-one]


 
Oups autant pour moi, j'avais pas relevé le [:pingouino] sarcastique

mood
Publicité
Posté le   profilanswer
 


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

  [JAVA] java.lang.OutOfMemoryError, comment résoudre ce pb svp ?

 

Sujets relatifs
Java et simple BDD pour vérifier login & passwdProblème java sous Firefox, ok sous IE
[C/java] Socket et thread[JAVA] WebSphere configuration
[Java] Serveur JAVA WebAPI Sound java
[Java] Problème TableModel sous Linux uniquementjava Servlet
Dessiner un arbre en java?^^Java threads : wait() & notify()
Plus de sujets relatifs à : [JAVA] java.lang.OutOfMemoryError, comment résoudre ce pb svp ?


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