2014-03-31 34 views
0

可能運行多個作業導致服務器崩潰?使make服務器崩潰時運行多個作業?

例如:

make -j 20 all

如果服務器處理這個請求已經大量使用下,並說,只有20處理器,會導致服務器崩潰?或者製作工作會被拒絕?

編輯: 問題的原因:我的一位同事有一天說我使用多個工作導致服務器崩潰。我的猜測是,服務器會給出「虛擬內存耗盡」的陳述,或者只是在它墜毀之前否認這些工作。

+0

都不? 「線程」(例如一個「工作」)是一種編程思想,並且與體系結構不一一對應。我允許所有這些線程一次以編程方式運行。但是,這些作業是在內核中處理的。這意味着您最多可以同時運行n個指令。如果你有n + m個線程,它們會爭奪資源,但不會崩潰,它們會被調度程序排隊。你可能會因爲太多的工作而導致你的計算機崩潰(比如說需要太多內存),但是隻有擁有多個依賴項的大型項目纔會有這麼多可以同時運行的工作。 – IdeaHat

+0

'make -j all'(即根本沒有任何工作限制)會導致服務器頭痛。磁盤抖動,內存耗盡,進程槽耗盡......各種危害硬件。可能需要一段時間才能重新獲得控制權,但不會,它不應該崩潰。爲什麼這樣問? – bobbogo

回答

0

服務器會崩潰嗎?

不,它不應該崩潰,除非您在您的或某人的程序中遇到錯誤。它應該繼續工作(雖然由於負載較重而變慢)。

或者只是簡單地拒絕製作工作?

不,linux的設計目的不是防止進程創建。當然,它可以並行運行多少進程(其他操作系統也是如此),因爲計算機沒有無限資源。