xmx java jvm javaoptions

java - xmx - Opción JVM-Xss-¿Qué hace exactamente?



java optional (4)

here dice que -Xss se usa para "establecer el tamaño de pila de subprocesos", ¿qué significa exactamente? ¿Podría alguien ayudarme a entender esto?


Cada hilo en una aplicación Java tiene su propia stack . La pila se usa para retener direcciones de retorno, argumentos de llamada de función / método, etc. Entonces, si un hilo tiende a procesar grandes estructuras a través de algoritmos recursivos, puede necesitar una gran pila para todas esas direcciones de retorno y demás. Con la JVM de Sun, puede establecer ese tamaño a través de ese parámetro.


Cada hilo tiene una pila que se utiliza para variables locales y valores internos. El tamaño de la pila limita la profundidad de las llamadas. Generalmente esto no es algo que necesitas cambiar.


De hecho, establece el tamaño de pila en una JVM.

Debes tocarlo en cualquiera de estas dos situaciones:

  • Error (el tamaño de pila es mayor que el límite), aumenta el valor
  • OutOfMemoryError: no se puede crear un nuevo subproceso nativo (demasiados subprocesos, cada subproceso tiene una pila grande), disminuirlo.

Este último suele aparecer cuando su Xss es demasiado grande, entonces debe equilibrarlo (¡probando!)


Si no me equivoco, esto es lo que le dice a la JVM la cantidad de llamadas sucesivas que aceptará antes de emitir un Error. No es algo que desees cambiar en general.