Answers:
似乎有一种完全不同的方法可以更改每个OS X版本的打开文件限制!
对于OS X Sierra(10.12.X),您需要:
在/Library/LaunchDaemons
创建一个名为limit.maxfiles.plist
并粘贴以下内容的文件中(可以随意更改两个数字,分别是软限制和硬限制):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>limit.maxfiles</string>
<key>ProgramArguments</key>
<array>
<string>launchctl</string>
<string>limit</string>
<string>maxfiles</string>
<string>64000</string>
<string>524288</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceIPC</key>
<false/>
</dict>
</plist>
更改新文件的所有者:
sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
加载以下新设置:
sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
最后,检查限制是否正确:
launchctl limit maxfiles
我看到你到处都问这个问题。
您必须处理一个内核限制,kern.maxfiles,这是内核限制,设置ulimit时不能超过。
有关如何使用sysctl操作kern.maxifiles的说明,请参见Krypted博客页面Mac OS X中的Maximum Files。
我尚未在Mac上加载优胜美地。在sysctl -w kern.maxfiles=65000
对小牛,它具有相同的kern.maxfiles = 12288限制默认工作。
我检查了我的VM OS X 10.6.8,它具有相同的限制,这困扰着它在OS X版本之前是如何工作的。
有一个幻灯片共享(用于Mac OS X的DB2安装和设置用于Mac OS X的DB2)显示了使用DB2的建议限制,请参阅第7页上的“ 增加系统参数”。
增加系统参数
打开/etc/sysctl.conf(如果尚不存在,则创建它)并插入以下设置。这些设置增加了共享内存和DB2在Mac上工作所需的用户限制的某些设置。
将以下内容添加到/etc/sysctl.conf中
kern.sysv.shmmax = 1073741824
kern.sysv.shmmin = 1
kern.sysv.shmmni = 4096
kern.sysv.shmseg = 32
kern.sysv.shmall = 1179648
kern.maxfilesperproc = 65536
kern.maxfiles = 65536
听起来好像您/etc/sysctl.conf
在升级时丢失了文件。
sysctl(8)
来自BSD。
在Mac OS 10.10中,似乎ulimit设置不能超过launchctl限制设置。
因此,您应该首先在终端中运行launchctl limit maxfiles以获取当前设置:
launchctl limit maxfiles
maxfiles 256 unlimited
因此,在我的情况下,软限制为256,硬限制为无限。然后,如果我想将软限制设置为512:
sudo launchctl limit maxfiles 512 unlimited
可以在此处找到launchctl用于设置限制的详细用法:https : //developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/launchctl.1.html