Apacheのログに、下記のように表示され、CGIを使うことができません。
「Too many open files: couldn't set child process attributes」
このサーバーではVirtualHostを数100定義しているのですが、VirtualHostの定義を一つへらすと、上記エラーは起きなくなり、CGIも実行できるようになります。原因と対処方法を教えてください。
VirtualHostは今後も増える予定なので、VirtualHostを減らすという回答はなしでお願いします。
メッセージにあるとおりファイルの開きすぎです。OSに設定したファイルの最大値を上回るファイルを開こうとしています。
おそらくUnix/Linux系のOSをお使いだと思いますが,一度に使えるファイル数の上限設定(おそらくOSに対して管理者権限で設定する)を増やしてみてはいかがでしょうか。OSが分からないので具体的な方法はお伝えできませんが。。。
http://www.google.co.jp/search?hl=en&q=%E3%83%95%E3%82%A1%E3%82%...
エラーメッセージの通り、開いているファイルの数が上限を越えたということだと思うのですが、
Virtual Host のそれぞれで出力するログファイルを変えているのなら、
同じログファイルに出すようにするというのはどうでしょうか。
また、
http://www.atmarkit.co.jp/flinux/rensai/apache2_03/apache03b.htm...
や
http://www.syu1.com/archives/000511.html
にあるように
ulimitで設定を変えてみるのはどうでしょうか。
ありがとうございます。解決しました。
ありがとうございます。解決しました。