5000個の並列接続用のiperfサーバーとして、制限付きサーバーを誤って使用しました。 (制限は1024プロセスです)ログインするたびに、次のように表示されます。
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
それから、私はそれらを殺そうとします、しかし私がpsをするとき、私はこれを得ます:
-bash-4.1$ ps
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
Killallや同様のことをしたときにも同じことが起こります。私もシステムを再起動しようとしましたが、これは再起動後に得られるものです:
-bash-4.1$ Sudo reboot
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
-bash-4.1$
だから基本的には何もできません。すべてのコマンドでこのエラーが発生します:/ただし、「終了」することはできます。
これは私が物理的にアクセスできないオフサイトサーバーなので、物理的にオフ/オンにすることはできません。
この問題を解決する方法はありますか?どんな助けにも感謝します。
ログインできる場合、exec
を使用してすべてのコマンドを実行してみてください。 exec
を実行すると、再度ログインする必要があります。これは、exec
がシェルを強制終了するためです(実行するコマンドに置き換えることにより)。
exec
は、実行中のシェルを実行するプログラムに置き換えるため、余分なプロセススロットを占有しません。したがって、ulimit
の制限を回避できるはずです。
最近同じ問題がありました。私の場合の理由は、私の所有権のもとで実行されていて、ほとんどすべてのリソースを消費し、コマンドに何も残さないコードがあったためです。これが私がやったこと、「exec top」で最大のリソースを消費しているPIDを特定する「exec kill -9」で、上記のコマンドで特定されたPIDをkillします。
PIDを強制終了した後、すべてが正常に戻り、再びログインすることができました。