- blogs:
- cles::blog

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

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が必要です→https://blog.cles.jp/item/10321
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110336)
3 . 年次の人間ドックへ(109917)
4 . 2023 年分の確定申告完了!(1つめ)(109492)
5 . 三菱鉛筆がラミーを買収(109388)