2009-12-23 5 views
26

-Xms est de spécifier la taille initiale du tas ou la taille minimale du tas. Je vois beaucoup d'endroits avec beaucoup de réponses différentes. Certains comme second answer here, disent que c'est pour le tas initial et certains comme here disent que sa taille minimale de tas. Ou est-ce que la taille minimale est la taille initiale?-Xms: taille initiale du tas ou taille minimale du tas?

+0

Je sais que c'est un vieux message, mais maintenant certains des liens sont cassés ... – CCovey

Répondre

31

La taille de segment de mémoire initiale est la taille de segment de mémoire minimale. Il ne sera pas plus petit que la taille initiale du tas.

De Tuning Garbage Collection with the 5.0 Java[tm] Virtual Machine:

Par défaut, la machine virtuelle se développe ou rétrécit le tas à chaque collection pour essayer de garder la proportion de libre espace pour vivre des objets à chaque collection dans une plage spécifique . Cette plage cible est définie en tant que pourcentage par les paramètres -XX: MinHeapFreeRatio = et -XX: MaxHeapFreeRatio =, et la taille totale est délimitée ci-dessous par -Xms et supérieur par -Xmx.

+0

Par défaut dans mon ordinateur en prenant 10 Go de taille de tas maximale, car nous avons 40 Go de mémoire. Quand j'ai défini -Xms15g, quelle était la taille maximale? – junsid

11

de RUNNING java -X:

-Xms<size>  set initial Java heap size 
-Xmx<size>  set maximum Java heap size 
-Xss<size>  set java thread stack size 

Notez que les options -X ne sont pas garanties d'exister sur toutes les machines virtuelles ou se comporter de la même sur toutes les machines virtuelles. Par exemple -Xms pourrait formater votre disque dur en fonction de la VM (ce ne serait pas - mais à strictement parler, il pourrait :-) (taper java lui-même donne l'aide avec cette ligne: "-X aide d'impression sur les options non standard") .

Questions connexes