Process
以非常低的優先級執行linux程序?
我有一個不那麼重要但會消耗很多 CPU 功率的正常程序,我還有另一個非常重要的程序,但它大部分時間都處於空閒狀態,但是當它找到工作時,它確實需要很高的計算能力
我嘗試執行,
nice -20 ./low_priority_process
但當nice --20 ./high_priority_process
需要高優先級程序時,較低優先級仍然消耗大量 CPU,當另一個程序使用 CPU 電源時,我如何執行一個真正產生甚至自動掛起的程序
看看cgroups,它應該提供你所需要的——CPU 預留(以及更多)。我建議閱讀使用 cgroups 控制應用程序的優先級。
也就是說,將重要但經常空閒的程序放入分配 95% CPU 的組中,將其他應用程序放入另一個分配 5% 的應用程序中 - 在需要時,您將獲得(幾乎)所有的工作能力,而不斷在那些時候,耗電的過程最多只能獲得 5%。當計算激增消失時,所有 CPU 性能將被拋給剩餘的程序。作為一個好處,如果您為像這樣的程序創建一個特殊的 cgroup(具有最低的性能要求)
sshd
,那麼無論嘗試獲取所有 CPU,您都可以登錄 - 一些 CPU 時間將保留給sshd
.