yosemite [open filesを増やす]

yosemiteを再起動したら、どういうわけかfopenできる最大のファイル数が減った?ようでいままで動いていたプログラムが作動しなくなった。

(1)調べる
$ ulimit -a

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited


==> 「open files = 256 だったので1000個のファイルが開けなかった。」


(2)解決策

(a)一時的な変更でいい場合は
$ [sudo] ulimit -n 10240

(b)永続的な変更

$ cd
$ echo kern.maxfiles=10240 | sudo tee -a /etc/sysctl.conf
$ echo kern.maxfilesperproc=10240 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -w kern.maxfiles=10240
$ sudo sysctl -w kern.maxfilesperproc=10240
$ ulimit -n 10240 10240

$ cd
$ vi .bash_profile

".bash_profile"に以下の内容を加筆:
#----
# Added by me to increase the max number of open file (13 Jan 2016)
ulimit -n 10240 10240
#----

ヒント:「"i"でinsertモード、保存して終了するには "Esc" ":wq"」

 

(3)参考
http://blog.mact.me/2014/10/22/yosemite-upgrade-changes-open-file-limit