2017-06-28 54 views
1

我試圖運行時使用全部處理器時間使用nice特定進程:「好」命令不工作在MacOS

sudo nice -n 20 someProcess 

不幸的是,這不會改變任何東西。在Activity Monitor中,它仍然佔用了99%的CPU。

我起了疑心,這可能是由於這一事實,有沒有多的事情,所以這是完全能夠使用多少時間,所以我想壓力測試有:

是> /開發/空&是>的/ dev/null的&是>的/ dev/null的&是>的/ dev/null的&

即使很好-n 20,所討論的方法中使用的CPU的99%,推四個「是」從99%降到60%左右。

我要指出,我用「好」與一個「是」過程中也嘗試過類似的,並發現它並沒有區別可言......那作爲的處理器時間,因爲所有的人「是」的過程。

發生了什麼事? 「好」壞了嗎?這是在macOS 10.12.5上完成的。

+0

這個神祕的過程是什麼? –

+0

這是否重要,因爲我可以用「是」重現相同的東西?我認爲使用「好」與「是」會使其使用比其他「是」的實例少的處理器時間,但似乎並非如此。 –

+0

有關使用所有CPU的具體macOS進程的報告 - 每種方法都有不同的解決方案,所以我認爲它可能是其中一種,但如果它不是您想要共享的,那很好。 –

回答

1

答案是「你希望我也很高興做一些它不能做」。

這不是很好的工作。所有尼斯做的是改變一個過程的'優先'。 這意味着,如果有兩個需要CPU的進程,那麼已經「nice」的進程將被放在第二個位置,而不是以FIFO方式簡單地執行進程。參數都是關於確定系統按照什麼順序爲處理器安排的內容。

因此,如果沒有其他請求CPU那麼你的「nice'd過程中得到它。這意味着,即使所有的進程都很好,CPU仍然可以100%運行。

如果你想有一個過程的CPU不推到100%,它必須建立在機制,以防止其不斷要求,它的命令執行。睡覺並暫停等待用戶輸入,等等。