systemd取消對服務重啟的限制


默認情況下,一個服務在10秒內最多允許啟動5次。當超過5次后,會報如下錯誤:

Job for xx.service failed because start of the service was attempted too often. See "systemctl status xxx.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed xxx.service" followed by "systemctl start xxx.service" again.

可以通過以下兩個選項來設置服務啟動的頻率:

StartLimitIntervalSec=StartLimitBurst=

設置單元的啟動頻率限制。  StartLimitIntervalSec= 用於設置時長, 默認值等於 DefaultStartLimitIntervalSec= 的值(默認為10秒),設為 0 表示不作限制。

 StartLimitBurst= 用於設置在一段給定的時長內,最多允許啟動多少次, 默認值等於 DefaultStartLimitBurst= 的值(默認為5次)。 雖然此選項通常與 Restart= (參見 systemd.service(5)) 一起使用, 但實際上,此選項作用於任何方式的啟動(包括手動啟動), 而不僅僅是由 Restart= 觸發的啟動。

注意,一旦某個設置了 Restart= 自動重啟邏輯的單元觸碰到了啟動頻率限制,那么該單元將再也不會嘗試自動重啟; 不過,如果該單元后來又被手動重啟成功的話,那么該單元的自動重啟邏輯將會被再次激活。 注意,systemctl reset-failed 命令能夠重置單元的啟動頻率計數器。 系統管理員在手動啟動某個已經觸碰到了啟動頻率限制的單元之前,可以使用這個命令清除啟動限制。 注意,因為啟動頻率限制位於所有單元條件檢查之后,所以基於失敗條件的啟動不會計入啟動頻率限制的啟動次數之中。 注意, slice, target, device, scope 單元不受此選項的影響, 因為這幾種單元要么永遠不會啟動失敗、要么只能成功啟動一次。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM