13 votos

Aumentar el límite de la pila en OS X Yosemite

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

Sé que hay un montón de preguntas relacionadas con el cambio de las variables de entorno, incluyendo el límite de la pila, en internet y aquí en particular (por ejemplo este), pero ninguna de las soluciones propuestas que he encontrado parece que funciona para mí.

La mayoría salgo de la launchctl está usando sudo launchctl limit stack 67104768 67104768 donde 67104768 es el valor predeterminado límite duro. Otros launchctl comandos con límites más altos parecen tener ningún efecto.

Luego hay sysctl, pero sus páginas man informe kern.stack_size como inmutable.

Espero no haber pasado por alto alguna de las soluciones que se han propuesto ya en algún lugar, cualquier ayuda sería muy apreciada!

Edit: me gustaría aumentar el límite de la pila para evitar lo que parece ser un error en ocamlopt, el OCaml compilador nativo, que en la pila de los desbordamientos de procesamiento de un particular (sensible); me parece que no puede encontrar el informe de error ahora.

6voto

fpierfed Puntos 11

Una manera de aumentar el tamaño de la pila es el uso de ulimit:

shell> ulimit -s new_size_in_kb

Sólo ten en cuenta que no parece haber un límite duro en lo grande de la pila puede ser en OSX, y ese límite parece ser 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 el terminal de la sesión termina.

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X