※ ChatGPTを利用し、要約された質問です(原文:Apacheエラー 「(24)Too many open files」が頻発します)
Apacheエラー「(24)Too many open files」が頻発する理由と対策
このQ&Aのポイント
Apacheエラー「(24)Too many open files」が頻発する原因とは、朝方に集中アクセスがあり、Apacheが処理しきれなくなるためです。
エラーメッセージは、Apacheがオープンしているファイルの数が上限に達し、新たなファイルをオープンできないことを意味しています。
対策としては、Apacheの設定ファイルのulimit値を増やす、サーバのリソースを増強する、不要なプロセスを終了するなどがあります。
Apacheエラー 「(24)Too many open files」が頻発します
こんにちは、当方 自宅サーバにてWebサイトを運営しております。
環境は以下の通りです。
ディストリビューション:CentOS4.6
Apache2.0.52
MySQL 4.1.20
PHP 4.3.9
メインホストとバーチャルホストにて
朝方にかけ、403エラーが頻発します。
Apacheを再起動すると直るのですが、すぐに上記のエラーが頻発するようになります。
エラーをしらべたところ、
[Sun Mar 30 14:42:31 2008] [crit] [client ***.***.***.***] (24)Too many open files: /var/www/html/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
上記のエラーがたくさん出力されていることがわかりました。
しかし上記の/var/www/html/には、.htaccessを設置しておりません(confに認証関連の設定を書いているため)。
集中アクセスが起こったのかと推測しましたが、
当方のApacheは、mod_evasiveにてDoS攻撃をある程度防げるようになっており
アクセスログを見ても、それらしいアクセスはありませんでした。
このエラーメッセージは、どういう意味なのでしょうか。
また、対策としてどのようなものがあげられるのでしょうか。
CMSサイトを運営している以上、このような状態が続くのは
サイトの死活問題です。
よろしくお願いいたします。
お礼
自己解決しました。 /etc/security/limits.conf より root soft nofile 32768 root hard nofile 32768 root soft nproc 4096 root hard nproc 4096 上記の設定を追加したところ、 ulimitのopen files 及び max user processes を増やすことができました。 これにより、現在サーバダウンは見られていません。 ご助言本当にありがとうございました、 私の補足・お礼にお間違いが御座いましたら ご指摘をお願いいたします。
補足
# ulimit -a にて確認を行いましたところ、以下のような結果となっていました。 core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited pending signals (-i) 1024 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 16367 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited この設定中の値を変更する必要があるとすれば、 どの部分を設定する必要があるのでしょうか。 また、この部分以外で設定すべき箇所はありますでしょうか。 拙い質問ばかりで申し訳御座いません。