2010-03-10 107 views
1

我的雜種犬沒有迴應,上帝重啓和集羣重啓都沒有造成很大的影響。我挖得更深一點,比我意識到我有很多殭屍進程。已停止的進程是否會阻止其他進程的正常運行?

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

然而,當我使用這個殺死父進程:

「PS英法| grep的解散| grep的-v grep的| awk的 '{打印$ 3}' | xargs的kill -9「

重新啓動開始工作。我殺死殭屍是否有助於重啓工作?如果是這樣,這是奇怪的,因爲我找不到任何參考,說明如何不受影響的進程影響正常的進程

回答

0

我相信殭屍進程持有預先定義的套接字集(例如8000),並因此阻止混合進程的正確重新啓動。

0

殭屍進程可能會阻止新的進程。 Linux可以限制獨特進程的數量,一旦所有這些進程都在使用中,您將無法創建新進程。

在一個相對現代的Linux(openSUSE 11.1)上,默認是32,768個進程。

在附註上,你不能殺死殭屍進程,因爲它們已經退出。如果父進程不收穫它的子進程,則需要殺死父進程,以便init可以收穫殭屍。

在進一步的思考中,您可能沒有達到整個機器處理限制,而是達到每個用戶的ulimit處理限制。此限制通常低於總操作系統限制。要找出你的限制是什麼,你可以運行ulimit -u

相關問題