BLOGTIMES
2018/07/25

systemd の "start request repeated too quickly for ~" というログ

  systemmanagemant 
このエントリーをはてなブックマークに追加

systemd を使ってサービスを作ったのですが、Restart=always にしておいたのになぜかデーモンが落ちていました。
いろいろ調べてみると start request repeated too quickly for ~ というログが残っていました。

マニュアルを調べてみると以下のような記載があって、どうも頻繁にサービスが up/down を繰り返すと、強制的にr estart をやめるようになっているようですね。
Restart=

Note that service restart is subject to unit start rate limiting configured with StartLimitIntervalSec= and StartLimitBurst=, see systemd.unit(5) for details. A restarted service enters the failed state only after the start limits are reached.

この挙動については何秒間で(StartLimitIntervalSec)、何回まで(StartLimitBurst)というパラメーターがあり、これらを使って細かい挙動を制御できる*1ようです。

単純に回避するのであれば StartLimitBurst を 0 にすれば良さそうですが、これだと最悪の場合、高速でサービスが up/down を繰り返したままになるので、例えば RestartSec= などを使って、restart の間隔を少し長めにしてやればいいんですかね。


トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/10321
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン