LoginSignup
6
8

More than 5 years have passed since last update.

'Too many open files'と言われた

Posted at

OSファイルディスクリプタ数のチェック

以下のように現在の状況を確認

$ cat /proc/sys/fs/file-nr

file-nr
 file-nr内のパラメータはそれぞれ、オープンされているファイル数、空きファイル管理データの数、システム中のオープンファイル管理データの最大数(file-maxと同じ)を示します。
@IT:/procによるLinuxチューニング [後編](2/4)

OSファイルディスクリプタ数の上限設定

以下のページを参考にする

nginx で Too many open files エラーに対処する - Shin x blog

nginxのプロセスあたりの上限確認

以下のように現在のプロセスあたりの上限を確認(soft limit がデフォルトの1024)になっている。

$ cat /proc/{workerのpid}/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        0                    unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             29090                29090                processes
Max open files            1024                 4096                 files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       29090                29090                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

nginxのプロセスあたりの上限設定

worker_connections の 4倍程度が良いらしいのでそうする

/etc/nginx/nginx.conf
worker_rlimit_nofile 4096;

events {
    worker_connections  1024;
}

nginxのプロセスあたりの上限確認

以下のように現在のプロセスあたりの上限を確認(soft limit がデフォルトの1024)になっている。

結果確認

以下のように soft limit が変更されてればOK

$ cat /proc/{workerのpid}/limits
Limit                     Soft Limit           Hard Limit           Units
 :
Max open files            4096                 4096                 files
 :
6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8