Nice
是否有設置好的值的指南?
我想開發一個應用程序並想
nice
為我的守護程序提供一個價值。但我沒有找到這方面的指導方針。有些文章說備份任務應該有更高的
nice
價值(這意味著更低的優先級),但我找不到什麼樣的程序應該有更低的nice
價值。如果沒有這樣的設置
nice
值指南,那豈不是一個可怕的世界,每個守護程序都將它們的nice
值設置-20
為最高優先級?
是否有為應用程序開發人員設置好的值的指南*?*
不,因為那不是你可以控制的;你也不應該嘗試。(你只會惹惱那些就軟體購買決定向老闆提供建議的系統管理員。)
它需要 root 權限才能為您的程序提供更高的優先級。一個設計良好的守護程序不應該以 root 身份執行。例外情況非常少見,所有這些都與系統管理直接相關,而不是通常意義上的“應用程序”。如果您不是為某種系統管理編寫軟體,那麼您一開始就不應該將應用程序設計為以 root 身份執行。因此,您甚至無法為您的應用程序賦予更高的優先級。
如果你想給你的應用程序一個較低的優先級,你可以。但是,在大多數情況下,您不會這樣做;您將其留給系統管理員來管理。也許如果“低資源佔用”是您的賣點之一,您可能希望通過將其編碼來確保它成為現實。
是否有為系統管理員設置好的值的指南?
是的當然。這一切都在“系統調整”的標題下。您的問題的這個修訂版本對於 Stack Exchange 格式來說確實太寬泛了,但簡而言之:
- 在調整之前進行測試。如果 IO 是你的瓶頸,不要想像你會用 renice 解決問題。
- 優先處理那些你擁有那台機器的真正原因的程序(例如,如果它是一個 LDAP 伺服器,優先處理 LDAP 程序)。
- 如果一個非必要的程序佔用資源(通過實際測試,而不是假設——見第 1 點),將其箝制以防止這種情況發生。
…我找不到什麼樣的過程應該具有較低的
nice
價值。見上文第 2 點。這取決於整個機器的實際用途。