2009-12-23 36 views
26

-Xms es para especificar el tamaño de pila inicial o el tamaño de pila mínimo? Veo muchos lugares con muchas respuestas diferentes. Algunos como second answer here, dicen que es para el montón inicial y algunos como here dicen que es el tamaño mínimo de almacenamiento dinámico. ¿O es que el tamaño mínimo en sí mismo es el tamaño inicial?-Xms: ¿tamaño de pila inicial o tamaño de pila mínimo?

+0

Sé que esta es una publicación anterior, pero ahora algunos de los enlaces están rotos ... – CCovey

Respuesta

31

El tamaño del montón inicial es el tamaño de almacenamiento dinámico mínimo. No será más pequeño que el tamaño de pila inicial.

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

Por defecto, la máquina virtual crece o se reduce el montón en cada colección para tratar de mantener la proporción de libre espacio para vivir objetos en cada colección dentro de un rango específico . Este rango objetivo se establece como un porcentaje por los parámetros -XX: MinHeapFreeRatio = y -XX: MaxHeapFreeRatio =, y el tamaño total está limitado debajo por -Xms y superior por -Xmx.

+0

De forma predeterminada, en mi máquina tomo 10 gb de tamaño máximo de almacenamiento dinámico porque tenemos 40 gb de memoria. Cuando configuré -Xms15g, ¿cuál era el tamaño máximo? – junsid

11

Desde correr -X java:

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

Tenga en cuenta que -X opciones no están garantizados para existir en todas las máquinas virtuales o se comportan igual en todas las máquinas virtuales. Por ejemplo, Xms podría formatear su disco duro según la VM (no sería así, pero en términos estrictos podría :-) (escribir java por sí solo da la ayuda con esta línea: "-X imprima ayuda sobre opciones no estándar") .

Cuestiones relacionadas