nofileはlimit.confで説明されているように機能しません。

nofileはlimit.confで説明されているように機能しません。

本番で問題が発生しており、ファイルなしの制限に達していると思われますが、追跡や直接的な証拠が見つかりませんでした。私たちはRHEL 7で動作しています。次のコマンドを使用して、lsofユーザーが開いたファイル記述子の数を見つけます。

/sbin/lsof -u <issue_user> | awk '$4 ~ /[0-9]+[rwu -].*/'

コマンドの一部はawk整数で始まるファイル記述子のみを取得し、mem/rtd/cwdなどは無視することです。上記のコマンドは400,000を超える結果を返しましたが、/etc/security/limits.confユーザーのファイルなし制限は131072です。

cat /etc/security/limits.conf
...
<issue_user>  hard    nofile  131072
<issue_user>  soft    nofile  131072
...

ulimit -aH問題ユーザーとして実行します。

$ ulimit -aH
address space limit (Kibytes)  (-M)  unlimited
core file size (blocks)        (-c)  unlimited
cpu time (seconds)             (-t)  unlimited
data size (Kibytes)            (-d)  unlimited
file size (blocks)             (-f)  unlimited
locks                          (-x)  unlimited
locked address space (Kibytes) (-l)  unlimited
message queue size (Kibytes)   (-q)  800
nice                           (-e)  0
nofile                         (-n)  131072
nproc                          (-u)  131072
pipe buffer size (bytes)       (-p)  4096
max memory size (Kibytes)      (-m)  unlimited
rtprio                         (-r)  0
socket buffer size (bytes)     (-b)  4096
sigpend                        (-i)  724561
stack size (Kibytes)           (-s)  32768
swap size (Kibytes)            (-w)  not supported
threads                        (-T)  not supported
process size (Kibytes)         (-v)  unlimited

によると、/etc/security/limits.confnofileは「開かれたファイル記述子の最大数」です。このユーザーがに定義されているよりも多くのファイル記述子を持つことができるのはなぜですかlimits.conf

ベストアンサー1

おすすめ記事