Saya mencari cara untuk (tidak perlu secara permanen) meningkatkan ukuran tumpukan yang tersedia untuk aplikasi terminal di OS X 10.10.
Saya tahu ada banyak pertanyaan yang berkaitan dengan perubahan variabel lingkungan, termasuk batas tumpukan, di internet dan di sini khususnya (misalnya yang ini ) tetapi tidak ada solusi yang diusulkan yang saya temukan tampaknya bekerja untuk saya.
Yang paling saya dapatkan launchctl
adalah menggunakan di sudo launchctl limit stack 67104768 67104768
mana 67104768 adalah batas keras default. launchctl
Perintah lain dengan batas yang lebih tinggi tampaknya tidak berpengaruh.
Lalu ada sysctl
, tetapi halaman manualnya melaporkan kern.stack_size
sebagai tidak dapat diubah.
Saya harap saya tidak mengabaikan solusi apa pun yang telah diusulkan di suatu tempat; bantuan apa pun akan sangat dihargai!
Sunting: Saya ingin menambah batas stack untuk mengatasi apa yang tampaknya menjadi bug di ocamlopt, kompiler asli OCaml, yang stack-overflow memproses program tertentu (masuk akal); Sepertinya saya tidak dapat menemukan laporan bug saat ini.
limit.stack.plist
launchDaemons?Jawaban:
Salah satu cara untuk meningkatkan ukuran tumpukan adalah dengan menggunakan
ulimit
:Hanya perlu diingat bahwa tampaknya ada batas keras tentang seberapa besar tumpukan dapat di OSX dan batas itu tampaknya 65532 kb:
Juga
ulimit -s
bersifat sementara dan mengatur ulang setelah sesi terminal berakhir.Jika Anda ingin memastikan bahwa tumpukan ditingkatkan untuk setiap sesi terminal, Anda bisa meletakkan
ulimit -s
perintah di .zshrc atau yang setara.sumber
ulimit -s unlimited
tampaknya juga terbatas pada 65532 Kb:ulimit -a | grep stack
memberi-s: stack size (kbytes) 65532