デーモンプロセスのファイルディスクリプタの上限を変更する方法

dev

バックグラウンドで動かすデーモンプロセスに対してファイルディスクリプタの上限を設定するにはどうすれば良いんだってことで調べたときのメモ。

概要

  • 環境
    • OS – Amazon Linux release 2
  • 結論
    • serviceの設定ファイルにLimitNOFILEを指定する

[Service]
User=www
LimitNOFILE=2048
ExecStart=./exec_somthing.sh

単純にserviceファイルに設定を加えて systemctl daemon-reload とリロードをすると変更できた。設定ファイルが見つからない場合は systemctl status サービス名 で確認する。

プロセスごとのファイルディスクリプタ上限値はプロセスIDを指定して次のように確認できる。プロセスIDは systemctl status サービス名 やtopコマンドで確認できる。

$ grep 'Max open files' /proc/$(pid)/limits
> Max open files            2048                 2048                 files
タイトルとURLをコピーしました