Snow Leopard で開くファイル記述子の最大数を増やす?
sudo ulimit -n 12288
は、Snow Leopard が望む限りの高さで、これを超えると
/usr/bin/ulimit: line 4: ulimit: open files: cannot modify limit: Invalid argument.
100000 といったもっと高い数値を上げたいのですが、可能でしょうか?これは可能でしょうか?
sudo ulimit -n 12288
は、Snow Leopard が望む限りの高さで、これを超えると
/usr/bin/ulimit: line 4: ulimit: open files: cannot modify limit: Invalid argument.
100000 といったもっと高い数値を上げたいのですが、可能でしょうか?これは可能でしょうか?
ulimit
コマンドを使うと、現在のシェルとその子孫のリソース制限を変更するだけで、sudo ulimit
はルートシェルを作成し、制限を調整してから終了します (私が見た限りでは、実際には何の効果もありません)。
12288を超えるためには、カーネルのkern.maxfiles
とkern.maxfilesperproc
のパラメータを調整する必要がありますし、(少なくとも このブログ記事 によると、 この議論 をまとめたものです) launchdの制限も調整する必要があります。
sudo launchctl limit maxfiles 1000000 1000000
これを恒久的なものにするには(つまり再起動時にリセットされないようにするには)、
limit maxfiles 1000000 1000000
を含むlaunchctl limit
を作成してください_その後、/etc/launchd.conf
(ただし、ulimit
を含まない)を使ってプロセス制限を調整することができます。
0x1&
_その後、sudo
(ただし、0x6& を使用しない) を使用してプロセス制限を調整することができます。お使いのモデルがそれをサポートしている場合は、 64ビットモード でカーネルを起動することで解決するかもしれません。
以下の方法でほとんどの解決策が解決されるはずです(階層順に記載しています)。
1.これらの変更を有効にするには再起動が必要です。 2. 2. AFAIKでは、OS Xでは'unlimited'に制限を設定することはできません。ulimit はデフォルトで launchctl の ‘open files’ 値を継承しているようです 6. /etc/profile や ~/.profile 内でカスタム ulimit を設定することができます。デフォルトと比較した場合、これらの値のいずれかを非常に高い数値に設定する場合は注意が必要です - 機能は安定性/セキュリティが存在します。私は他のウェブサイトに書かれている、私は合理的であると信じているこれらの例の数字を取ってきました。
OS X 10.13.6**では、これで動作します。
$ sysctl kern.maxfiles
kern.maxfiles: 12288
$ sysctl kern.maxfilesperproc
kern.maxfilesperproc: 10240
$ sudo sysctl -w kern.maxfiles=1048600
kern.maxfiles: 12288 -> 1048600
$ sudo sysctl -w kern.maxfilesperproc=1048576
kern.maxfilesperproc: 10240 -> 1048576
$ ulimit -S -n
256
$ ulimit -S -n 1048576
$ ulimit -S -n
1048576