如何配置啟動時啟動的服務的優先權或優先權

如何配置啟動時啟動的服務的優先權或優先權

我想增加服務的好壞(降低 CPU 優先權)在引導過程中會以專用使用者或群組啟動。我無法在/etc/security/limits.conf./limits.d/目錄中為所需使用者定義友善性或優先級,因為不會觀察服務的條目。 (?)

例子

特別是我有一些帶有 CentOS 6.6 的小型虛擬伺服器,並且想要運行 Tor 中繼(洋蔥路由器) 在各個。 Tor 守護程式在啟動時會作為服務啟動,透過sudo /sbin/chkconfig(運行等級:2、3、4、5)進行設定。 tor 進程的使用者和群組是_tor

我必須在哪裡更改使用者 _tor 是所有者的每個進程的良好或優先順序? Nice 值應應用於每次啟動和手動服務啟動 ( service tor start)。

答案1

經典的方法是在服務啟動腳本中使用nice和/或。ionice你可能有類似的情況:

case "$1" in
    start)
    echo "Starting tor daemon"
    /path/to/tor-daemon

並將其更改為

    echo "Starting tor daemon"
    nice /path/to/tor-daemon

或者,啟動腳本通常會記錄守護程式的 PID/var/run/pid-of-tor-daemon或類似內容,您可以renice在守護程式啟動後使用該 PID。


更好的方法是使用 cgroup。對於這裡的答案來說有點太長了,但是紅帽文檔可能是個有用的開始。

相關內容