直接使用ulimit -n XXX進(jìn)行修改,發(fā)現(xiàn)只能設(shè)置比當(dāng)前值小的值,我們需要另辟蹊徑。
嘗試過:
$sudolaunchctl limit maxfiles100000500000
$sudoulimit-n100000
但不能對(duì)當(dāng)前command窗口生效。終于,找到了以下有效的方法:
#首先檢查當(dāng)前最大打開文件數(shù)的限制
ulimit -n
#新建配置文件
sudo touch?/Library/LaunchDaemons/limit.maxfiles.plist
#編輯文件內(nèi)容如下,其中262144是“soft limit”,524288是"hard limit",有需要可以自行修改
<?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>262144</string>
? ? ? <string>524288</string>
? ? </array>
? ? <key>RunAtLoad</key>
? ? <true/>
? ? <key>ServiceIPC</key>
? ? <false/>
? </dict>
</plist>
#重啟電腦,然后再查看當(dāng)前最大打開文件數(shù)的限制
ulimit -n
看看是不是不一樣了?
參考資料: