256bitの殺人メニュー

インフラエンジニアだったソリューションアーキテクトなくわののブログ。こちらのBlogは個人の意見となっていて会社とは全く関係ありません。お約束です。[twitter:@kuwa_tw]めんどくさがりが重い腰を上げて何かをアウトプットすることにどれほどの意味があるのかを試してみたいブログでもある。

CentOS6で制限されているプロセス最大数を制限解除する

ハマったのでメモ。

Linuxでリソース制限するための仕組みのulimitがありますが、その1項目に「nproc」があります。
これはそのユーザで実行できるプロセス(スレッド)数の制限となります。


これが、CentOS5までは、

$ ulimit -u
unlimited

のように無制限だったのですが、CentOS6になって以下のように1024で制限がかかるようになりました。

$ ulimit -u
1024

そのため、デーモンとかで高負荷な処理をさせてプロセス(スレッド)が増えると処理が落ちてしまうのです。
悲しいけどこれってデフォルト値なのよね。

設定箇所は?

実際の設定は、[/etc/security/limits.d/90-nproc.conf]でされています。

# cat  /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024

という事で変更

実際の設定は、[/etc/security/limits.d/90-nproc.conf]でされています。

# cat  /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

はい!消えた!
消えたよ!


[/etc/security/limits.conf]で変更しても上書きされるので注意!

一応制限したいなら

*    soft    nproc   32768
*    hard    nproc   32768

位しておくといいかも。
戦争終結です。



詳解 Linuxカーネル 第3版

詳解 Linuxカーネル 第3版