Scheduling

僅執行 1 個函式時的良好命令行為

  • February 3, 2016

我剛剛了解到 nice(和 ionice)的存在,這似乎很有趣。

我只想啟動一個優先級低於我通常的“p_normal”的程序“p_low”。

我能夠從wiki 頁面(唯一顯示資源如何分佈的來源)得到的是:

以 nice +15 執行的程序將獲得分配給正常優先級程序的 25% 的 CPU 時間:(20 - 15)/(20 - 0) = 0.25

因此,基於此,如果“nice -18 p_low”,我可以為我的 p_low 程序提供 10% 的 CPU 時間

**如果我的“p_normal”**正在執行,這是完美的。

所以問題:有沒有辦法告訴調度程序使用預設的 niceness 值,並且只有 -18 當有其他東西在執行時?

在最壞的情況下,我可以製作一個腳本來檢查是否有其他東西正在執行,並“調整”我的程序,但這對我來說似乎不是最好的選擇……


編輯:

回答: 正如@jilliagre 在他的回答下面的評論中指出的那樣:

如果沒有其他東西在執行,無論給定多少(-18、0、+18、…),該命令都將獲得 100% 的 CPU

你錯過了多麼好的工作。當出現 CPU 瓶頸時,這只是對調度程序的一個提示,它可以將某些程序優先於其他程序。

我沒有其他東西在執行,無論它有多好,您的程序都將被授予所有 CPU 能力,因此在特定情況下無需更改好壞。

引用自:https://unix.stackexchange.com/questions/259314