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

  FORUM HardWare.fr
  Programmation
  Java

  Erreur java.lang.OutOfMemory alors qu'il me reste de la RAM????

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur java.lang.OutOfMemory alors qu'il me reste de la RAM????

n°701041
@ttil@
Q, retire ce bonnet !
Posté le 16-04-2004 à 13:53:13  profilanswer
 

Je dois parser un fichier de 27000 lignes en java, mais à la 23000ème il me fait une exception java.lang.OutOfMemory.
Bon, je me dit que je dois abuser sur la RAM, alors je recommence l'execution en surveillant dans le gestionnaire des tâches la RAM occupé/dispo, et je me rend compte qu'il me fait l'erreur alors qu'il ne m'a pris que 20-30Mo et il m'en reste encore tout plein disponible :??:
Vu que je peux tres difficilement parser le fichier par petits bouts (le resultat ne peut être utilisé qu'en un seul bloc), je me demande si je ne peux pas forcer java à prendre plus de mémoire :??:

mood
Publicité
Posté le 16-04-2004 à 13:53:13  profilanswer
 

n°701043
kadreg
profil: Utilisateur
Posté le 16-04-2004 à 13:54:13  profilanswer
 

Citation :

C:\>java -X
    -Xmixed           mixed mode execution (default)
    -Xint             interpreted mode execution only
    -Xbootclasspath:<directories and zip/jar files separated by ;>
                      set search path for bootstrap classes and resources
    -Xbootclasspath/a:<directories and zip/jar files separated by ;>
                      append to end of bootstrap class path
    -Xbootclasspath/p:<directories and zip/jar files separated by ;>
                      prepend in front of bootstrap class path
    -Xnoclassgc       disable class garbage collection
    -Xincgc           enable incremental garbage collection
    -Xloggc:<file>    log GC status to a file with time stamps
    -Xbatch           disable background compilation
    -Xms<size>        set initial Java heap size
   -Xmx<size>        set maximum Java heap size
    -Xss<size>        set java thread stack size
    -Xprof            output cpu profiling data
    -Xrunhprof[:help]|[:<option>=<value>, ...]
                      perform JVMPI heap, cpu, or monitor profiling
    -Xdebug           enable remote debugging
    -Xfuture          enable strictest checks, anticipating future default
    -Xrs              reduce use of OS signals by Java/VM (see documentation)
    -Xcheck:jni       perform additional checks for JNI functions
 
The -X options are non-standard and subject to change without notice.
 
C:\>


Message édité par kadreg le 16-04-2004 à 13:54:37

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°701080
@ttil@
Q, retire ce bonnet !
Posté le 16-04-2004 à 14:25:09  profilanswer
 

Rapide ;)
Bon je vais voir comment parametrer JCreator avec ca...

n°714275
nartu elxe
Gul Dukat Fanatic !
Posté le 03-05-2004 à 14:51:59  profilanswer
 

toujours aussi doue avec java l'b ?

n°714277
@ttil@
Q, retire ce bonnet !
Posté le 03-05-2004 à 14:53:07  profilanswer
 

nartu elxe a écrit :

toujours aussi doue avec java l'b ?


toujours aussi doue avec son cerveau l'a ?

n°714430
seabee
Posté le 03-05-2004 à 16:47:00  profilanswer
 

Miaou?

n°714432
Taz
bisounours-codeur
Posté le 03-05-2004 à 16:47:40  profilanswer
 

on peut l'attraper cette exception ?

n°714434
R3g
fonctionnaire certifié ITIL
Posté le 03-05-2004 à 16:49:53  profilanswer
 

Taz a écrit :

on peut l'attraper cette exception ?

Oui, c'est un Throwable, mais c'est aussi une Error, donc normalement quand elle est lancée y'a plus rien à faire.


---------------
Au royaume des sourds, les borgnes sont sourds.
n°714466
nraynaud
lol
Posté le 03-05-2004 à 17:12:31  profilanswer
 

Taz a écrit :

on peut l'attraper cette exception ?

biensûr, c'est d'ailleur une excellente source de blagues inusables !


---------------
trainoo.com, c'est fini
n°717226
BifaceMcLe​OD
The HighGlandeur
Posté le 06-05-2004 à 12:51:14  profilanswer
 

R3g a écrit :

Oui, c'est un Throwable, mais c'est aussi une Error, donc normalement quand elle est lancée y'a plus rien à faire.


Détrompe-toi, R3g, quand on l'attrape, il y a encore des choses à faire.
J'ai écrit des tas de programmes ou de servlets qui l'attrapaient avec succès.
 
Typiquement, dans ton cas, @ttil@, si tu la récupères, tu arrêtes ta lecture et tu mets les références vers tes objets de lecture à null, et le tour est joué.
 
Mais à mon avis, @ttil@, si tu as une OutOfMemoryException aussi tôt, c'est que tu ne facilites pas le boulot du ramasse-miettes. Si tu mettais la plupart de tes références à null une fois que tu as fini de lire une ligne ou un bloc de données, ça l'aiderait pas mal...

mood
Publicité
Posté le 06-05-2004 à 12:51:14  profilanswer
 

n°717230
R3g
fonctionnaire certifié ITIL
Posté le 06-05-2004 à 12:54:49  profilanswer
 

Citation :

An Error is a subclass of Throwable that indicates serious problems that a reasonable application should not try to catch. Most such errors are abnormal conditions. The ThreadDeath error, though a "normal" condition, is also a subclass of Error because most applications should not try to catch it.
 
A method is not required to declare in its throws clause any subclasses of Error that might be thrown during the execution of the method but not caught, since these errors are abnormal conditions that should never occur.


Je fais que répéter moi hein...


---------------
Au royaume des sourds, les borgnes sont sourds.
n°717239
@ttil@
Q, retire ce bonnet !
Posté le 06-05-2004 à 13:09:13  profilanswer
 

BifaceMcLeOD a écrit :

Détrompe-toi, R3g, quand on l'attrape, il y a encore des choses à faire.
J'ai écrit des tas de programmes ou de servlets qui l'attrapaient avec succès.
 
Typiquement, dans ton cas, @ttil@, si tu la récupères, tu arrêtes ta lecture et tu mets les références vers tes objets de lecture à null, et le tour est joué.
 
Mais à mon avis, @ttil@, si tu as une OutOfMemoryException aussi tôt, c'est que tu ne facilites pas le boulot du ramasse-miettes. Si tu mettais la plupart de tes références à null une fois que tu as fini de lire une ligne ou un bloc de données, ça l'aiderait pas mal...


Nop, c'est que je dois traiter un fichier enorme, mais bon maintenant c'est corrigé, j'ai augmenté la taille de la mémoire de la machine virtuelle [:itm]
En fait l'algo me prend 105Mo :)

n°717258
nraynaud
lol
Posté le 06-05-2004 à 13:28:06  profilanswer
 

BifaceMcLeOD a écrit :

Détrompe-toi, R3g, quand on l'attrape, il y a encore des choses à faire.
J'ai écrit des tas de programmes ou de servlets qui l'attrapaient avec succès.
 
Typiquement, dans ton cas, @ttil@, si tu la récupères, tu arrêtes ta lecture et tu mets les références vers tes objets de lecture à null, et le tour est joué.
 
Mais à mon avis, @ttil@, si tu as une OutOfMemoryException aussi tôt, c'est que tu ne facilites pas le boulot du ramasse-miettes. Si tu mettais la plupart de tes références à null une fois que tu as fini de lire une ligne ou un bloc de données, ça l'aiderait pas mal...

Énorme comme méthode !
 
C'est à peu près exactement ce qu'il ne faut pas tenter.
 
Le OutOfMemoryBidule peut venir d'un explosion de pile.


---------------
trainoo.com, c'est fini
n°717303
benou
Posté le 06-05-2004 à 14:26:30  profilanswer
 

nraynaud a écrit :


Le OutOfMemoryBidule peut venir d'un explosion de pile.


heu nan, là c'est une StackOverflowError qui est lancée ...

n°717336
nraynaud
lol
Posté le 06-05-2004 à 14:44:40  profilanswer
 

benou a écrit :

heu nan, là c'est une StackOverflowError qui est lancée ...

Uniquement dans le cas de stacks de taille fixe.
 
http://java.sun.com/docs/books/vms [...] .html#6654

Citation :

If Java virtual machine stacks can be dynamically expanded, and expansion is attempted but insufficient memory can be made available to effect the expansion, or if insufficient memory can be made available to create the initial Java virtual machine stack for a new thread, the Java virtual machine throws an OutOfMemoryError.


---------------
trainoo.com, c'est fini

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

  Erreur java.lang.OutOfMemory alors qu'il me reste de la RAM????

 

Sujets relatifs
[Java] Remplacer une classe pdt l'execution[Java] Java, GL4Java etc.
utiliser des fichiers wav dans une appli java.Java et C interaction ...????
[JBoss]Erreur de demarrage[Java] Jeu en JFrame
[JAVA] [SWING] Affichage affreux de couleurs et de composantsappli Java pour Palm peut-elle lire un fichier XML ?
[SQL] Erreur incompréhensible (insert into)appli Java pour Palm peut-elle lire un fichier XML ?
Plus de sujets relatifs à : Erreur java.lang.OutOfMemory alors qu'il me reste de la RAM????


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