Opción JVM -Xss: ¿qué hace exactamente?

Resuelto instantsetsuna asked hace 13 años • 5 respuestas

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

instantsetsuna avatar Feb 11 '11 17:02 instantsetsuna
Aceptado

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

T.J. Crowder avatar Feb 11 '2011 10:02 T.J. Crowder

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

Debes tocarlo en cualquiera de estas dos situaciones:

  • StackOverflowError (el tamaño de la pila es mayor que el límite), aumente el valor
  • OutOfMemoryError: no se puede crear un nuevo subproceso nativo (demasiados subprocesos, cada subproceso tiene una pila grande), redúzcalo.

Esto último suele ocurrir cuando su Xss está configurado demasiado grande; entonces necesita equilibrarlo (¡probando!)

Adam Adamaszek avatar Sep 28 '2012 16:09 Adam Adamaszek

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

Peter Lawrey avatar Feb 11 '2011 10:02 Peter Lawrey

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

Kellindil avatar Feb 11 '2011 10:02 Kellindil