哪个命令/配置文件控制OS X上打开文件的限制?OS X 10.5 / 10.6 / 10.7是否有其他命令?下面我探索的选项ulimit
,sysctl
以及launchctl
“打开文件过多”显然是Leopard上的常见错误,也许是OS X的其他版本:
查看打开文件限制的方法有很多(相关?):
$ 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) 2048
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 512
virtual memory (kbytes, -v) unlimited
$ launchctl limit
cpu unlimited unlimited
filesize unlimited unlimited
data unlimited unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 1024 2048
maxfiles 2048 4096
$ sysctl -a | grep files
kern.maxfiles = 32768
kern.maxfilesperproc = 16384
kern.maxfiles: 32768
kern.maxfilesperproc: 16384
kern.num_files: 2049
在上面的一些帖子中声称可以使用以下命令对其进行修改:
sudo launchctl limit maxfiles 16384 32768
sudo ulimit -n 32768
sudo sysctl -w kern.maxfilesperproc=16384
sudo sysctl -w kern.maxfiles=32768
但是,在上述命令中,只有sysctl
命令具有明显的效果(即ulimit -n
,launchctl limit
在输入上述命令后不显示任何更改,而sysctl -a
确实显示了所请求的更改)。
更改操作系统这些参数的相应位置是:
/etc/sysctl.conf
/etc/launchd.conf
我还发现了一个答案,该答案ulimit
只能控制当前的shell。
如何在macOS 上向上调整最大文件数 / 最大打开文件数限制?