Bonjour, bonjour,
alors voila j'ai une petite question par rapport à la JVM:
je voudrais savoir si la commande suivante:
java -Xmx512m -jar monProg.jar
- modifie de manière constante la mémoire de la JVM en lui allouant 512Mo puis lance monProg.jar
- ou bien lance monProg.jar avec une mémoire allouée de 512Mo
- ou encore lance monProg.jar avec 512 Mo et garde cette valeur en mémoire pour les prochains lancements de monProg.jar
en réalité ta commande va simplement lancer le jar avec une limite d'utilisation mémoire de 512Mo et ce uniquement pour l'appel de la commande.
En fait il faut mieux changer la valeur minimum et la valeur maximum afin de fixer la taille :
-Xms512m -Xmx512m
Je ne suis pas d'accord, ça dépend du comportement de l'application. Si tu sais que ton application va tout le temps utiliser la majeure partie des 512 Mo, tu peux suivre le conseil de slevy, sinon ce n'est pas nécessaire. Utilise un profiler pour vérifier ça, par exemple TPTP sous Eclipse, le profiler de Netbeans, JProfiler, YourKit...
du meme avis que gouesej, c'est rare d'avoir besoin d'autant de mémoire... et il est souhaitable de profiler son projet pour déterminer ces paramètres.
ça me fait penser qu'un tutorial sur le profiling de code pourrais être utile !
Salut Loïc,
En effet :)
Tu nous l'écris ?
Allons-y !
Est-ce qu'un Profiler pour suivre l'évolution de la Heap, ce n'est pas un peu lourd ?
La jconsole ou un client JMX fera très bien le travail.