y'a t-il un moyen pour limiter les ressources prises par le garbage collector (ramasse miettes) afin de ne pas empieter sur les performances des applications qui tournent sur la machine ?
A++
merci d'avance![]()
y'a t-il un moyen pour limiter les ressources prises par le garbage collector (ramasse miettes) afin de ne pas empieter sur les performances des applications qui tournent sur la machine ?
A++
merci d'avance![]()
Salut,
Tu as l'option -Xmx de java qui permet de définir la taille maximum de mémoire utilisable par le GC...
Exemple pour limiter à 10 Mo :
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part java -Xmx10m -jar TonApplication.jar
-Xmx precise la taille du "heap" et pas du GC !!
voir le help de la commande java:
-Xmx<size> set maximum Java heap size
en plus de cela, le GC a besoin de la memoire pour travailler !
voir :
http://gfx.developpez.com/tutoriel/java/gc/
merci encore et @++
Ben le heap est la mémoire utilisé par le GC...
donc il faudrait savoir ce que tu entends pas " les ressources prises par le garbage collector "
a++
en fait apres avoir lu l'article de Romain Guy:
http://gfx.developpez.com/tutoriel/java/gc/
je me suis dit que ma question ne devrait pas etre posée comme cela !
ma question devrait etre posee comme ceci :
"avec quelles options doit on demarrer la JVM afin que le bouleau du GC pénalise le moins possible les ressources de l'appli".
la reponse se trouve dans cette article:
en gros, ca depend ce que fait ton appli:
1-soit elle possede bcp de new objets a duree de vie courte
2-soit bcp d'objet a duree de vie longue
et en fonction de cela, passer les bonnes paramettres:
exemple "bateau" :
1er cas: java -Xms512m -XX:NewRatio=0.5 -XX:SurvivorRatio=2
2eme cas: java -Xms512m -XX:NewRatio=4 -XX:SurvivorRatio=2
le param "XX:NewRatio=N" signifie: la taille de la memoire des vieux objets est N fois plus grande que celle des nouveaux objets.
Or le travail du GC derrange plus dans la zone des "vieux objets" que dans la zone des "jeunes objets".
voir article ci-dessous pour plus de precisions.
Partager