デーモンごとに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
反映されたことが確認できたよー!