システム制限
制限を変更していない/etc/launchd.conf
か、/etc/rc.local
もはや最近のMacOSのためにサポートされています。参照:旧システムと技術。
代わりに、新しい起動エージェントを作成する必要があります。
コマンドを使用したコマンドの例を次に示しPlistBuddy
ます(参照:)man PlistBuddy
。
sudo /usr/libexec/PlistBuddy /Library/LaunchAgents/com.launchd.maxfiles.plist \
-c "add Label string com.launchd.maxfiles" \
-c "add ProgramArguments array" \
-c "add ProgramArguments: string launchctl" \
-c "add ProgramArguments: string limit" \
-c "add ProgramArguments: string maxfiles" \
-c "add ProgramArguments: string 10240" \
-c "add ProgramArguments: string unlimited" \
-c "add RunAtLoad bool true"
maxproc
制限についても同様:
sudo /usr/libexec/PlistBuddy /Library/LaunchAgents/com.launchd.maxproc.plist \
-c "add Label string com.launchd.maxproc" \
-c "add ProgramArguments array" \
-c "add ProgramArguments: string launchctl" \
-c "add ProgramArguments: string limit" \
-c "add ProgramArguments: string maxproc" \
-c "add ProgramArguments: string 2000" \
-c "add ProgramArguments: string unlimited" \
-c "add RunAtLoad bool true"
上記のファイルをロードするには、次を実行しますsudo launchctl load /Library/LaunchAgents/com.launchd.*.plist
。
ノート:
- ファイルを印刷するには、:
cat
またはを実行しますPlistBuddy -x -c Print /Library/LaunchAgents/com.launchd.maxfiles.plist
。
- ロード中のエラーをログで確認するには、次を実行します
tail -f /var/log/system.log
。
- 現在の
launchd
制限を確認するには、次を実行しますlaunchctl limit
。
.plist
ファイルは、(ユーザごとまたはシステム全体のエージェントフォルダに置くことができますLaunchAgents
)。詳細についてはman launchd
、およびman launchd.plist
、またはこれまたはその回答を参照してください。
カーネルの制限
上記のLaunchdシステムの制限はまだカーネルによって制限されているため、カーネル状態変数に設定されている実際の制限よりも高く設定することはできません(man sysctl
ヘルプを参照してください)。
現在のカーネルの制限を確認するには、次を実行しますsysctl -a | grep ^kern.max
。
maxfiles
制限を増やすには、次を実行しますsudo sysctl -w kern.maxfiles=20480
。
それらを永続化するには、同様の方法を使用してスタートアップ.plist
ファイルを作成します。たとえば、
sudo /usr/libexec/PlistBuddy /Library/LaunchAgents/com.kern.maxfiles.plist \
-c "add Label string com.kern.maxfiles" \
-c "add ProgramArguments array" \
-c "add ProgramArguments: string sysctl" \
-c "add ProgramArguments: string -w" \
-c "add ProgramArguments: string kern.maxfiles=20480" \
-c "add RunAtLoad bool true"
シェル制限
シェルの制限については、個々のユーザーまたはすべてのユーザーに関連するulimit
コマンド~/.bashrc
または~/.bash_profile
スタートアップファイルを追加/etc/bashrc
します。参照:Macで永続シェルのulimit設定を追加する方法?
追加する推奨行:
# Changes the ulimit limits.
ulimit -Sn 4096 # Increase open files.
ulimit -Sl unlimited # Increase max locked memory.