La respuesta corta es:
Cuando los programas de Linux en su cuadro de ejecución, añaden y eliminan los datos de the stack sobre una base regular como la función de los programas. El tamaño de la pila, se refiere a la cantidad de espacio asignado en la memoria para la pila. Si aumenta el tamaño de la pila, eso permite que el programa aumente la cantidad de rutinas a las que se puede llamar. Cada vez que se llama a una función, se pueden agregar datos a la pila (apilados sobre los últimos datos de rutinas)
A menos que el programa sea muy complejo o esté diseñado para un propósito especial, un tamaño de pila de 8192kb es normalmente bien Algunos programas como los programas de procesamiento de gráficos requieren que aumente el tamaño de la pila para funcionar. Como pueden almacenar una gran cantidad de datos en la pila.
No dude en aumentar el tamaño de la pila para esas aplicaciones, no es un problema. Para ello, utilice
ulimit -s bytes
Por cierto, What is a StackOverflowError?
http://en.wikipedia.org/wiki/Call_stack –
un desbordamiento de pila puede aparecer con recursión demasiado profundo (o infinito). O tal vez por el abuso de 'alloca' (o equivalente, como matrices de longitud variable) en el código C. –
Relacionados: http://stackoverflow.com/questions/17671423/stack-allocation-for-process | http://unix.stackexchange.com/questions/145557/how-does-stack-allocation-work-in-linux/239323#239323 –