CGI実行時に

Apacheのログに、下記のように表示され、CGIを使うことができません。
「Too many open files: couldn't set child process attributes」
このサーバーではVirtualHostを数100定義しているのですが、VirtualHostの定義を一つへらすと、上記エラーは起きなくなり、CGIも実行できるようになります。原因と対処方法を教えてください。
VirtualHostは今後も増える予定なので、VirtualHostを減らすという回答はなしでお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/03/18 01:05:00
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:iu43lkjds32 No.1

回答回数18ベストアンサー獲得回数0

ポイント35pt

メッセージにあるとおりファイルの開きすぎです。OSに設定したファイルの最大値を上回るファイルを開こうとしています。

おそらくUnix/Linux系のOSをお使いだと思いますが,一度に使えるファイル数の上限設定(おそらくOSに対して管理者権限で設定する)を増やしてみてはいかがでしょうか。OSが分からないので具体的な方法はお伝えできませんが。。。

http://www.google.co.jp/search?hl=en&q=%E3%83%95%E3%82%A1%E3%82%...

id:hiro48

ありがとうございます。解決しました。

2008/03/18 01:03:53
id:AOFG No.2

回答回数2ベストアンサー獲得回数0

ポイント35pt

エラーメッセージの通り、開いているファイルの数が上限を越えたということだと思うのですが、

Virtual Host のそれぞれで出力するログファイルを変えているのなら、

同じログファイルに出すようにするというのはどうでしょうか。

また、

http://www.atmarkit.co.jp/flinux/rensai/apache2_03/apache03b.htm...

http://www.syu1.com/archives/000511.html

にあるように

ulimitで設定を変えてみるのはどうでしょうか。

id:hiro48

ありがとうございます。解決しました。

2008/03/18 01:03:56

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません