config JVM

thesuixx
config JVM

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
loic.guillois_4127

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.

slevy
Re: config JVM

thesuixx wrote:
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 fait il faut mieux changer la valeur minimum et la valeur maximum afin de fixer la taille :
-Xms512m -Xmx512m

gouessej

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...

loic.guillois_4127

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 !

fredericmazue

Salut Loïc,

Quote:
ça me fait penser qu'un tutorial sur le profiling de code pourrais être utile !

En effet :)
Tu nous l'écris ?

loic.guillois_4127

Allons-y !

hasalex

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.