無料ツール|印刷用チェックリスト
Too many open files の対処チェックリスト
対応に着手するとき、これだけ確認できているかを見る項目です。コピーして自分のメモに当ててみてください。全部を毎回そろえる必要はありません。
まず外せない最低ラインはこの3つです。急いでいても、ここだけは押さえます。
- 【最低ライン】容量・メモリではなく、開いているFDの数を疑ったか
- 【最低ライン】該当プロセスの
Max open files(/proc/<PID>/limits)と、現在数(/proc/<PID>/fd)を突き合わせたか - 【最低ライン】一次対処(安全な再起動)で業務を戻したうえで、根っこを別途手当てする前提に立てたか
次の項目は、原因を奥まで追うとき・再発を止めたいときに追加で確認します。当てはまらなければ飛ばして大丈夫です。
-
lsof -p <PID>の中身を見て、ファイルかソケットか、何を大量に握っているか確かめたか - 稼働時間とともにFD数が単調増加していないか(リークの疑い)を確認したか
- 上限を上げる場合、起動方法に合った設定(systemdの
LimitNOFILE/limits.conf等)で行い、/proc/<PID>/limitsで反映を確認したか - システム全体の上限(
/proc/sys/fs/file-nrとfs.file-max)に近づいていないか見たか - 監視に主要プロセスのFD使用数を追加したか
- 暫定対応(再起動での延命)と恒久対応(リーク修正)を分けて記録したか
- 平常値と、効いた対処を運用メモに残したか
全部に○が付かなくても大丈夫です。最低ラインの「数と上限を突き合わせたか」さえ押さえられれば、容量・メモリ探しで消耗するより、ずっと確かな一歩になります。
この内容は記事「Too many open files の対処|ファイルディスクリプタ枯渇の見つけ方」のチェックリストです。印刷してそのままお使いいただけます。 / 無料ツール一覧へ