Mac OS Xでユーザあたりのプロセス数制限を増やすには

Mac OS X 10.4では、1ユーザあたりの起動可能なプロセス数がデフォルトで100になっている。そのため、実験などでたくさんプロセスが起動するようなプログラムを動かすと、
Resource temporarily unavailable
などというエラーで起動に失敗することがある。
このような状況になると、ターミナルで新しいウィンドウを開いたり、GUIアプリケーションを起動することも出来なくなってしまう。
これを緩和するには、次の2ステップを行う。
1. まず、/etc/sysctl.conf というファイル(ない場合は作成する)に下の内容を書く。

kern.maxproc=2048
kern.maxprocperuid=1024

これで、システム全体の限界プロセス数とユーザあたりの限界プロセス数が増える。

2. これだけではulimitで制限が掛かったままになってしまうので、どこかでulimitを変更しなくてはならない。
GUIを含めて反映させるには、10.4であれば /etc/launchd.conf が利用できる。このファイル(ない場合は作成する)に下の内容を書く。

limit maxproc 1024

この状態で再起動し、

ulimit -a

を実行した結果の中のprocessが1024になっていれば成功。

  • 元ネタ

以下に10.3の設定が載っている。コメントに10.4の話題も。
http://www.macosxhints.com/article.php?story=200311151254441