Pregunta

¿Hay alguna manera de establecer el tamaño de montón Java Max mediante programación en lugar de como argumento de VM?

Algo como:

System.getProperties().put("<heap variable>", "1000m");
¿Fue útil?

Solución

No con ningún punto de acceso JVM. Los parámetros JVM Heap solo se pueden especificar en la línea de comando, y luego se solucionan para la vida útil del JVM.

Con las implementaciones de Java de hotspot, la única forma de "cambiar" el tamaño del montón de una aplicación es relanzarla en un nuevo JVM con diferentes parámetros de línea de comandos.

(Recuerdo vagamente que JVM de otros proveedores hacer Permita que se cambien algunos parámetros de montón en un JVM en ejecución. Quizás alguien pueda aclarar.)

Otros consejos

Debe comprender la diferencia entre el espacio JVM y el entorno en el que se ejecuta. El parámetro que ha mencionado (y cualquier otro parámetro -x o -xx) son el entorno configurado por el entorno que ejecuta el JVM.

En una máquina Windows XP, Windows OS es el iniciador del JVM. Por lo tanto, JVM no debería poder cambiar un parámetro que proporcionó el sistema operativo. Es lógico.

@Stephen C, puede ser que tenga razón sobre alguna implementación de VM que proporcione esta función, pero no estoy seguro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top