¿Cómo configurar el uso máximo de memoria para JVM?
Quiero limitar la memoria máxima utilizada por la JVM. Tenga en cuenta que esto no es solo el montón, quiero limitar la memoria total utilizada por este proceso.
utilizar los argumentos -Xms<memory>
-Xmx<memory>
. Utilice M
o G
después de los números para indicar megas y gigas de bytes respectivamente. -Xms
indica el mínimo y -Xmx
el máximo.
No debería tener que preocuparse de que la pila pierda memoria (es muy poco común). La única vez que puedes hacer que la pila se salga de control es con una recursividad infinita (o realmente profunda).
Esto es sólo el montón. Lo siento, al principio no leí tu pregunta completamente.
Debe ejecutar la JVM con el siguiente argumento de línea de comando.
-Xmx<ammount of memory>
Ejemplo:
-Xmx1024m
Eso permitirá un máximo de 1 GB de memoria para la JVM.
Si desea limitar la memoria para jvm (no el tamaño del montón) ulimit -v
Para tener una idea de la diferencia entre jvm y memoria de montón, eche un vistazo a este excelente artículo http://blogs.vmware.com/apps/2011/06/ Taking-a-closer-look-at-sizing-the- proceso-java.html