デーモンごとにulimitで設定した値を確認する

忘れないようにメモ。

あるデーモンにulimitを設定したい場合、起動スクリプトにulimitを記載する。

これでデーモン起動時にどうしたら値が設定されたことを確認できるかなーって話。

ユーザだったらulimit -nとか叩けば値が返ってくるのだろうけど。

 

答えは/proc/pid/limitsをcatすればわかった。

 

/etc/init.d/mysqlにulimit -n xxxとか追記。

どの場所に追記すれば良いか試してないけど、startとかする前でよいと思われ。

 

ちなみにulimitの参考は以下から。

Linuxコマンド集 - 【 ulimit 】 コマンドに割り当てる資源を制限する:ITpro

 

★あげる前

[root@mysql001 user]# cat /proc/1088/limits | grep "open files"
Max open files 5000 5000 files

 

★結構先頭のほうに追記してみた

 

[root@mysql001 user]# grep -n -C 3 ulimit /etc/init.d/mysql
42-
43-# If you change base dir, you must also change datadir. These may get
44-# overwritten by settings in the MySQL configuration files.
45:ulimit -n 10240
46-
47-basedir=
48-datadir=

 

 

★あげた後

 [root@mysql001 user]# /etc/init.d/mysql restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
[root@mysql001 user]#
[root@mysql001 user]# ps axuf | grep mysql
root 1431 0.0 0.0 107456 912 pts/0 S+ 23:57 0:00 \_ grep mysql
root 1294 0.0 0.1 106192 1504 pts/0 S 23:57 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid-file=/var/lib/mysql/mysql001.pid
mysql 1407 2.0 44.4 1077948 453928 pts/0 Sl 23:57 0:00 \_ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/mysql001.err --pid-file=/var/lib/mysql/mysql001.pid
[root@mysql001 user]#
[root@mysql001 user]# cat /proc/1407/limits | grep "open file"
Max open files 10240 10240 files

 

反映されたことが確認できたよー!