本日、apache の エラーログを確認すると
以下のメッセージが表示していました
エラーログ
Too many open files: apr_socket_accept: (client socket)
原因を確認すると こちらに詳しい内容が記載されてました
解決方法
①.vi /etc/security/limits.conf
limits.conf を編集します。
②.以下の内容を記入します。
root soft nofile 32768
root hard nofile 32768
root soft nproc 10000
root hard nproc 10000
apache soft nofile 32768
apache hard nofile 32768
apache soft nproc 10000
apache hard nproc 10000
③.サーバを再起動
再起動する事で設定が反映されます。
設定確認
ulimit -a
コマンドを実行します
変更前
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 24576
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
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
変更後
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 24576
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 32768
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 10000
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
open files と max user processes の値が変更されました
まぁ~ あとはエラーが出力されないか確認するだけです
少し様子を見る事にします♪♪