人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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


●質問者: hiro48
●カテゴリ:インターネット ウェブ制作
✍キーワード:Apache CGI open SET エラー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● iu43lkjds32
●35ポイント

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

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

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

◎質問者からの返答

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


2 ● AOFG
●35ポイント

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

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

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

また、

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

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

にあるように

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ