goo blog サービス終了のお知らせ 

プログラマの備忘録

仕事の上で必要だと考えられる、備忘録を記述してます。

Too many open files(ulimit)

2016年10月24日 09時48分33秒 | Weblog

Too many open files

ulimitをデフォルト値のままで運用していると、 忘れたころにやってくる「Too many open files」orz

CentOS7での設定は以下の通りだそうです。

 

/etc/security/limits.d/20-nofile.conf <-新規作成

root soft nofile 1048576
root hard nofile 1048576
centos soft nofile 1048576
centos hard nofile 1048576

※1048576は「sudo  sysctl fs.nr_openでカーネルパラメータを確認」

「/etc/security/limits.d/」以下にファイルを作り設定するとのことです。

ただ、systemd経由のデーモンですと、

うまく機能しないらしく、

/etc/systemd/system/.d/limits.conf

[Service]
LimitNOFILE=1048576
LimitNPROC=1048576

みたいな設定が必要とのことです。

 

/etc/systemd/system/.d/は存在しない場合はディレクトリを作成

rsyslog.service」の例

mkdir/etc/systemd/system/rsyslog.service.d

[Service]
LimitNOFILE=1048576
LimitNPROC=1048576

# systemctl daemon-reload <-これをやらないと怒られます
# systemctl restart rsyslog

全デーモン(reboot後設定が反映)

mkdir/etc/systemd/system.conf.d

/etc/systemd/system.conf.d/limits.conf

[Manager]

DefaultLimitNOFILE=1048576
DefaultLimitNPROC=1048576

※reboot後設定が反映されますが、デーモン再起動の場合が設定が元にもどるとのことで、 
   結局デーモン別に設定が必要とのことらしいですorz

参考URL:http://blog.father.gedow.net/2016/03/28/limits-of-systemd/


コメントを投稿