At

atd, batch // 設置負載限制因子

  • March 2, 2022

我正在使用 啟動非互動式作業batch,並且我想增加負載限制因子以使用我的所有 8 個核心。我在 Ubuntu 16.04 LTS 上。

據我了解,batch用於atd完成工作。當負載因子低於門檻值(稱為負載限制因子)時,作業開始。據說我們可以使用該選項更改此man因素。atd``-l

我的問題:我該如何使用這個atd -l XX選項?例如,當我輸入atd -l 7.2beforebatch時,它似乎並沒有改變任何東西。

到目前為止我發現了什麼:

好像可以在中引入/etc/init.d/atd,但是不知道在哪裡。我從未更改過此類文件。

那麼,如何更改batch命令使用的負載限制因子?

找到了解決方案:

  • 創建一個文件:/etc/init/atd.override
  • 添加一行exec atd -l 7.2
  • 然後sudo service atd restart

它與“Upstart init daemon”的工作方式有關。那裡的解釋:http: //linux.die.net/man/5/init 如果文件/etc/init/atd.override已經存在並以 開頭的行exec,請編輯此行。

/lib/systemd/system/atd.service在 Ubuntu 16.04 / systemd 上編輯。

附加-l «load avg»到後ExecStart

$ cat /lib/systemd/system/atd.service 
[Unit]
Description=Deferred execution scheduler
Documentation=man:atd(8)

[Service]
ExecStart=/usr/sbin/atd -f -l 7.2
IgnoreSIGPIPE=false

[Install]
WantedBy=multi-user.targe

執行時您會看到一條消息systemctl status atd或 ( service atd status):

警告:磁碟上的 atd.service 已更改。執行“systemctl daemon-reload”重新載入單元。

執行該命令會消除警告,但要實際獲取更改,服務需要通過systemctl restart atd( service atd restart).

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