2013年9月5日木曜日

【Centos6.3】ulimitのopen filesの値を変更する方法

■環境
CentOS release 6.3 (Final)
2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

■設定方法
echo "ulimit -n 64000" >> /etc/sysconfig/init

上記を実施後
サーバ自体の再起動
もしくは
変更したopen filesのカーネルパラメータ自体を有効にしたいプロセスを再起動する

■確認方法
cat /proc/[プロセス番号]/limits
でMax open filesの欄を確認して設定したopen filesの値になっていることを確認する

ulimit -a
でopen filesの欄を確認して設定したopen filesの値になっていることを確認する



カーネルパラメータを変更する方法は他にも

  • vim /etc/security/limits.conf
  • vim /etc/sysctl.conf
  • ulimitコマンドの実行

を等を変更、使用することで変更できるが
どれもサーバの再起動後や再ログインをすると上書きされてしまうためあまり有効な方法ではないと思われる


■Tips
独自のシェルスクリプトで記載された起動スクリプトの場合、/etc/sysconfig/initが有効にならない場合がある
有効にならない場合は独自のシェルスクリプトの一番はじめに「ulimit -n 64000」を記載することで
シェルスクリプト内で起動する子プロセスに対してカーネルパラメータを有効にすることができる

またプロセスのみの再起動手法の場合OS自体のulimitの値を確認するとデフォルトの1024のままとなっているが
プロセス自体のulimitの設定さえ変更されていれば問題ない

0 件のコメント:

コメントを投稿