目次

2022.07.23 fork: retry: Resource temporarily unavailable

プロセスを起動しすぎるとulimit にかかって、プロセス起動できなくなる時がある。

Error

$ ps auxw | grep bash
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable

対応

リミット増やしてみる

ulimit -Sn 4000

リミット確認

ハードリミット確認

rootユーザーだけ、ハードリミットを増やせる

ulimit -Ha

ソフトリミット確認

ユーザーの利用可能なリソースの制限。ハードリミットまでは増やせる

ulimit -Sa

/etc/security/limits.conf

「/etc/security/limits.conf」で設定した値はログインしない「デーモンプロセス」には効果がありません。

理由はログイン時や su コマンド実行時に PAM 認証されたタイミングで /etc/security/limits.conf の設定が適用されるため、デーモンプロセスには効かないということになります。