2010-10-06 4 views
1

J'exécutez la commande suivante:Java: l'option -Xms n'est pas appliquée immédiatement?

java -Xms1024M -Xmx1024M mypackage.MyClass 

Je pense que les ressources sont capturées par JVM immédiatement, mais en fait mon gestionnaire de ressources montre que 7,2M a été capturé par JVM.

Est-ce que quelqu'un sait quelle est la raison?

PS: La documentation (homme java) dit à propos de l'option qui suit:

-Xmsn

spécifiant sa taille initiale, en octets, de l'allocation de mémoire piscine. Cette valeur doit être un multiple de 1024 supérieur à 1 Mo. Ajoutez la lettre k ou K pour indiquer les kilooctets ou m ou M pour indiquez mégaoctets. La valeur par défaut est choisie à l'exécution en fonction de la configuration du système. Pour plus d'informations, consultez HotSpot Ergonomie Exemples:

-Xms6291456

-Xms6144k

-Xms6m

EDIT:

java -version 

retours:

java version "1.6.0_18" 
OpenJDK Runtime Environment (IcedTea6 1.8.1) (6b18-1.8.1-0ubuntu1~9.10.1) 
OpenJDK Server VM (build 16.0-b13, mixed mode) 

OS: 9.10 - le Karmic Koala

+0

La taille minimale indique la machine virtuelle Java d'allouer cette taille de la mémoire librement. Il fait encore un peu de rangement des ressources, mais il consommera la quantité de mémoire que vous lui donnez assez rapidement étant donné une demi-chance. Cependant, il n'allouera toujours pas la mémoire avant d'en avoir besoin. Note: il va allouer de la mémoire virtuelle immédiatement. –

Répondre

2

Notez que la documentation ne dit pas que "G" est un suffixe autorisé. Essayez avec 1024M au lieu de 1G.

+0

Absolument le même effet, je réécris la question. – Tim

0

La taille de segment ne contrôle pas la quantité de mémoire utilisée, la quantité de ressources disponibles et la quantité de récupération de place requise. La machine virtuelle peut utiliser moins ou plus que les tailles de tas max et min. Plus d'informations sur la façon de trouver votre tas désiré, regardez ce fil

how to choose the jvm heap size?

Questions connexes