Aumento del límite de pila en OS X Yosemite

11

Estoy buscando una manera de (no necesariamente de forma permanente) aumentar el tamaño de pila disponible para las aplicaciones de terminal en OS X 10.10.

Sé que hay muchas preguntas relacionadas con las variables de entorno cambiantes, incluido el límite de pila, en Internet y aquí en particular (por ejemplo, este ) pero ninguna de las soluciones propuestas que encontré parece funcionar para mí.

Lo máximo que obtengo de launchctl es usar sudo launchctl limit stack 67104768 67104768 donde 67104768 es el límite fijo predeterminado. Otros comandos launchctl con límites más altos parecen no tener ningún efecto.

Luego está sysctl , pero sus páginas de manual informan que kern.stack_size no se puede cambiar.

Espero no haber pasado por alto ninguna solución que ya se haya propuesto en alguna parte; Cualquier ayuda sería muy apreciada!

Editar: me gustaría aumentar el límite de pila para solucionar lo que parece ser un error en ocamlopt, el compilador nativo de OCaml, ese desbordamiento de pila que procesa un programa particular (sensible); Parece que no puedo encontrar el informe de errores ahora mismo.

    
pregunta Christopher 01.02.2015 - 19:36

1 respuesta

3

Una forma de aumentar el tamaño de la pila es usar ulimit :

shell> ulimit -s new_size_in_kb

Solo tenga en cuenta que parece haber un límite estricto sobre el tamaño de la pila en OSX y ese límite parece ser de 65532 kb:

shell> ulimit -s 65533
ulimit: value exceeds hard limit
shell> ulimit -s 65532
shell> ulimit -a | grep stack
-s: stack size (kbytes)             65532

También ulimit -s es temporal y se restablece una vez que finaliza la sesión del terminal.

Si desea asegurarse de que la pila se incrementa para cada sesión de terminal, puede poner el comando ulimit -s en su .zshrc o equivalente.

    
respondido por el fpierfed 02.09.2015 - 16:46

Lea otras preguntas en las etiquetas