ハマったのでメモ。
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
位しておくといいかも。
戦争終結です。