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

  FORUM HardWare.fr
  Programmation
  Java

  [Java]Comment desactiver le garbage collector ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java]Comment desactiver le garbage collector ?

n°157485
Gonzoide
Les cochons... dans l'espâââce
Posté le 12-06-2002 à 12:49:58  profilanswer
 

Pour une fois, Google n'est pas mon ami :( Il me semblait que c'etait "-nogc", mais c'est pas ca ...

mood
Publicité
Posté le 12-06-2002 à 12:49:58  profilanswer
 

n°157580
benou
Posté le 12-06-2002 à 14:31:44  profilanswer
 

c'est possile ? [:darklord]

n°157644
MelloW
Posté le 12-06-2002 à 15:05:14  profilanswer
 

benou a écrit a écrit :

c'est possile ? [:darklord]  



En effet ca me parait assez dangereux comme truc...  :heink:
Si c'est pour accélèrer l'execution d'un endroit critique, en génèral il faut faire une garbage collect juste avant de rentrer dedans... mais désactiver le garbage collector :??: pas une bonne idée à mon avis (et je crois que ce n'est même pas possible...)

n°157646
darklord
You're welcome
Posté le 12-06-2002 à 15:05:58  profilanswer
 

non ce n'est pas possible. Enfin c'est pas standard en tout cas (tu pourrais très bien écrire une JVM qui offre cette option pourquoi pas)


---------------
Just because you feel good does not make you right
n°157651
El Scorcho
Posté le 12-06-2002 à 15:08:13  profilanswer
 

-noasyncgc  "don't allow asynchronous garbage collection"
-noclassgc  "disable class garbage collection"
 
Mais n'aller pas me demander ce que ça signifie exactement... Et apparemment ça n'existe plus à partir du JDK1.2

n°157698
benou
Posté le 12-06-2002 à 15:24:27  profilanswer
 

El Scorcho a écrit a écrit :

-noasyncgc  "don't allow asynchronous garbage collection"
-noclassgc  "disable class garbage collection"
 
Mais n'aller pas me demander ce que ça signifie exactement... Et apparemment ça n'existe plus à partir du JDK1.2  




 
>> disable class garbage collection
ca doit vouloir dire qu'il ne grabage plus les Class (il n'oublie plus les .class qu'il a déjà chargé). enfin peut être ...

n°157705
El Scorcho
Posté le 12-06-2002 à 15:26:20  profilanswer
 

de toutes façons ça n'existe plus, j'ai trouvé ça par hasard sur une machine unix qui en est encore au jdk1.1
et sur mon poste avec le 1.3 cette option n'existe plus...

n°157714
Gonzoide
Les cochons... dans l'espâââce
Posté le 12-06-2002 à 15:30:55  profilanswer
 

Ben "-noclassgc" ca marche encore sur ma 1.3.1 ... de toutes facons, pas de panique, c'est juste pour voir la consommation memoire totale d'une mthode que je ne peux pas inpecter autrement :
 
- je force le GC
- je note la memoire libre
- je tourne ma methode
- je note la memoire libre
 
Le fait de desacitver le GC me garantit que la soustraction des 2 nombres me donne la memoire utilisee (directement et indirectement) par ma methode.

n°157723
darklord
You're welcome
Posté le 12-06-2002 à 15:34:17  profilanswer
 

c'est débile ce que tu fais. Appeller System.gc() n'est en aucun cas synchrone et tu n'as aucune garantie qu'il est lancé immédiatement ...


---------------
Just because you feel good does not make you right
n°157725
darklord
You're welcome
Posté le 12-06-2002 à 15:34:40  profilanswer
 

forcer le gc comme tu dis ca n'existe pas ...


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 12-06-2002 à 15:34:40  profilanswer
 

n°157743
LeGreg
Posté le 12-06-2002 à 15:43:50  profilanswer
 

Citation :

Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the Java Virtual Machine has made a best effort to reclaim space from all discarded objects.


 
meme s'il ne garantit pas le resultat (best effort), l'action de system.gc() est au moins synchrone si j'en crois la doc.
 
LeGreg

n°157751
darklord
You're welcome
Posté le 12-06-2002 à 15:46:43  profilanswer
 

legreg a écrit a écrit :

Citation :

Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the Java Virtual Machine has made a best effort to reclaim space from all discarded objects.


 
meme s'il ne garantit pas le resultat (best effort), l'action de system.gc() est au moins synchrone si j'en crois la doc.
 
LeGreg  




 
non. System.gc() n'est pas synchrone. J'en suis presque sûr


---------------
Just because you feel good does not make you right
n°157807
LeGreg
Posté le 12-06-2002 à 16:18:49  profilanswer
 

en fait j'ai un peu l'impression que ca depend  
de la JVM utilisée.
 
Trouvé sur le site d'IBM:
http://www-106.ibm.com/developerwo [...] 0117b.html
 
LeGreg

n°157809
darklord
You're welcome
Posté le 12-06-2002 à 16:21:05  profilanswer
 

legreg a écrit a écrit :

en fait j'ai un peu l'impression que ca depend  
de la JVM utilisée.



 
Ca par contre je te suis à 100%


---------------
Just because you feel good does not make you right
n°157812
darklord
You're welcome
Posté le 12-06-2002 à 16:22:22  profilanswer
 

j'ai appris qqch ajd cool :)
 

Citation :


This means that every time (or 99.9 percent of the time) you call System.gc(), you initiate a full GC cycle. GC may not be at all necessary, but you still force it to hack through the full mark/sweep thing. You may well consider System.gc() as System.StopEverythingForAWhile() or System.SlugMyPerfomance() calls.  


Message édité par darklord le 06-12-2002 à 16:22:29

---------------
Just because you feel good does not make you right
n°158042
krosso
j'suis à la bourre
Posté le 12-06-2002 à 19:52:08  profilanswer
 

El Scorcho a écrit:

Citation :

noasyncgc  "don't allow asynchronous garbage collection"
-noclassgc  "disable class garbage collection"
 
Mais n'aller pas me demander ce que ça signifie exactement... Et apparemment ça n'existe plus à partir du JDK1.2


Dans le 1.4:
F:\javawork\src>java -X
    -Xnoclassgc       disable class garbage collection
    -Xincgc           enable incremental garbage collection
    -Xloggc:<file>    log GC status to a file with time stamps
 
à noter que:
The -X options are non-standard and subject to change without notice.
 
K.


Message édité par krosso le 06-12-2002 à 19:53:14
n°158304
therier
heu...coucou!
Posté le 13-06-2002 à 10:47:31  profilanswer
 

De toute façon, ça ne sert à rien de vouloir activer/desactiver/lancer le GC à la main (le GC est non predictible)...
 
Le meilleur moyen de tuner une appli est de definir un heap bien ajusté.

n°158316
LeGreg
Posté le 13-06-2002 à 10:51:04  profilanswer
 

Gonzoide a écrit a écrit :

Ben "-noclassgc" ca marche encore sur ma 1.3.1 ... de toutes facons, pas de panique, c'est juste pour voir la consommation memoire totale d'une mthode que



 
honnetement, si tu veux controler la memoire utilisée par tes methodes passe a un autre langage que java.
il est totalement fait pour que le programmeur
ne puisse avoir aucun controle la dessus.
si ce n'est par la creation de variables, c'est la seule
chose que tu peux controler (le nombre de variables que tu  
crees par new !).
 
LeGreg

n°158319
therier
heu...coucou!
Posté le 13-06-2002 à 10:52:19  profilanswer
 

legreg a écrit a écrit :

 
 
honnetement, si tu veux controler la memoire utilisée par tes methodes passe a un autre langage que java.
il est totalement fait pour que le programmeur
ne puisse avoir aucun controle la dessus.
si ce n'est par la creation de variables, c'est la seule
chose que tu peux controler (le nombre de variables que tu  
crees par new !).
 
LeGreg  




 
exactement. Utilise un profiler pour voir ce qui arrive...
JProbe par exemple est tres bien...si t'as de la thune!!!  :D


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

  [Java]Comment desactiver le garbage collector ?

 

Sujets relatifs
[JAVA] Lecture d'un fichier texte[Java] copie de fichier et de repertoire
Envoyer un fax depuis un modem en Java ?[Java] Comment ouvrir une page html à partir d'une application Java ?
[JAVA] erreur lors de l'installation de jedit PB de -jarmise en page du code java
Comment on installe Java sous Linux ?Client/Serveur Java/Perl
[JAVA] Générer un fichier jar[JAVA] entree-sortie audio
Plus de sujets relatifs à : [Java]Comment desactiver le garbage collector ?


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