Aumento del limite di stack in OS X Yosemite

11

Sto cercando un modo per aumentare (non necessariamente in modo permanente) la dimensione dello stack disponibile per le applicazioni terminali in OS X 10.10.

So che ci sono molte domande relative al cambiamento delle variabili d'ambiente, incluso il limite dello stack, su internet e qui in particolare (ad es. questo ) ma nessuna delle soluzioni proposte che ho trovato sembra funzionare per me.

Il massimo che ottengo da launchctl è l'utilizzo di sudo launchctl limit stack 67104768 67104768 , dove 67104768 è il limite rigido predefinito. Altri comandi launchctl con limiti più alti sembrano non avere alcun effetto.

Poi c'è sysctl , ma le sue pagine man riportano kern.stack_size come non modificabile.

Spero di non aver trascurato le soluzioni che sono già state proposte da qualche parte; qualsiasi aiuto sarebbe molto apprezzato!

Modifica: vorrei aumentare il limite dello stack per aggirare ciò che sembra essere un bug in ocamlopt, il compilatore nativo di OCaml, che sovrappone allo stack l'elaborazione di un particolare programma (sensibile); Non riesco a trovare la segnalazione del bug in questo momento.

    
posta Christopher 01.02.2015 - 19:36
fonte

1 risposta

3

Un modo per aumentare le dimensioni dello stack è utilizzare ulimit :

shell> ulimit -s new_size_in_kb

Tieni presente che sembra esserci un limite rigido a quanto può essere grande lo stack su OSX e tale limite sembra essere 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

Anche ulimit -s è temporaneo e si ripristina al termine della sessione terminale.

Se vuoi assicurarti che lo stack sia aumentato per ogni sessione terminale, puoi inserire il comando ulimit -s nel tuo file .zshrc o equivalente.

    
risposta data 02.09.2015 - 16:46
fonte

Leggi altre domande sui tag