1

私の雑種は応答しませんでした。神の再起動もクラスターの再起動も大きな違いはありませんでした。ゾンビプロセスがたくさんあることに気付いたよりも、少し深く掘り下げました。

アプリ 29607 27948 0 19:45 ? 00:00:00 [mongrel_rails] アプリ 30578 21681 0 19:52 ? 00:00:00 [mongrel_rails] アプリ 30704 21405 0 19:53 ? 00:00:00 [mongrel_rails]

ただし、これを使用して親プロセスを強制終了した後:

"ps -ef | grep defanct | grep -v grep | awk '{print $3}' | xargs kill -9"

再起動が機能し始めました。ゾンビを倒したことで、再起動がうまくいきましたか? もしそうなら、それは奇妙です。なぜなら、機能していないプロセスが通常のプロセスにどのように影響するかを説明する参照が見つからないからです

4

2 に答える 2

0

ゾンビ プロセスが新しいプロセスを妨げる可能性があります。Linux では、固有のプロセスの数を制限できます。これらのプロセスがすべて使用されると、新しいプロセスを作成できなくなります。

比較的新しい Linux (openSUSE 11.1) では、デフォルトは 32,768 プロセスです。

ちなみに、ゾンビプロセスは既に終了しているため、殺すことはできません。親プロセスが子プロセスをリープしない場合は、親プロセスを強制終了して、init がゾンビをリープできるようにする必要があります。

さらに考えてみると、マシン プロセスの合計制限に達しているのではなく、ユーザーごとの ulimit プロセス制限に達している可能性があります。通常、この制限は OS の合計制限よりも低くなります。実行できる制限を調べるにはulimit -u

于 2010-03-10T05:43:52.560 に答える