- blogs:
- cles::blog
« ブラッスリー ぺルル(閉店) :: ナマステ日本 »
2011/05/02

Too many open files と言われたときは

テスト用に起動しておいた Tomcat の動きが怪しいなと思ったら、ログに Too many open files の文字が大量に出ていました。どうやらシステムで許されているディスクリプタの上限値にあたってしまったようです。ちなみに CentOS の ulimit の値はデフォルトではこんな感じになっていました。ファイルディスクリプタの上限は1024なので少し小さめですね。
# 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) 32743
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) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 32743
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
ユーザーが root の場合には素直に ulimit 使うところですが、今回は一般ユーザーで動かしている Tomcat だったので /etc/security/limits.conf に下記の行を挿入してとりあえず回避することができました。
user_name soft nofile 65536
user_name hard nofile 65536
ちなみにこのファイルはどういう風に読み込まれているのか、ちょっと詳しく調べてみたら下記のような話が見つかりました。
この回避方法は daemon 系のプロセスだと思わぬところでハマるようなので気をつけないといけないようです。
ファイルディスクリプタ数の上限変更とlimits.confの罠 (ゆめ技:ゆめみスタッフブログ)
daemon系プロセスのファイルディスクリプタ数上限を設定する際、/etc/security/limits.conf は使えません。状況によっては一見設定されたように見えますが、大きな落とし穴にはまることになります。
面倒ですが、必要なプロセス毎にulimitを用いて適切に設定しましょう。
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4195
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« ブラッスリー ぺルル(閉店) :: ナマステ日本 »
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . Thunderbird のメッセージをスレッド化しないようにする(7077)
2 . Word で数式がグレーアウトされていて挿入できないときは(6758)
3 . Windows 10 で勝手にログアウトされないようにする(5161)
4 . Firefox でパスワードが保存されるページとされないページの違い(3910)
5 . awk で指定した n カラム目以降を出力する(3485)
2 . Word で数式がグレーアウトされていて挿入できないときは(6758)
3 . Windows 10 で勝手にログアウトされないようにする(5161)
4 . Firefox でパスワードが保存されるページとされないページの違い(3910)
5 . awk で指定した n カラム目以降を出力する(3485)
cles::blogについて
Referrers