Skip to content

/errors/systemd/start-request-repeated-too-quickly

systemd: myapp.service: Start request repeated too quickly.

The commands on this page have not been executed by our verification runner yet.updated
tool
systemd
versions
systemd 2xx
os
linux

myapp.service: Start request repeated too quickly. in the journal means systemd refused to start the unit again because it was started more often than its start limit allows: by default 5 times within 10 seconds (DefaultStartLimitBurst=5, DefaultStartLimitIntervalSec=10s). The unit then fails with result start-limit-hit. The message is a consequence, not the cause: look at the earlier log lines for why the service keeps exiting, fix that, and clear the limit with systemctl reset-failed myapp.service.

What you see

In the journal (journalctl -u myapp.service), after several crashes:

text
myapp.service: Start request repeated too quickly.
myapp.service: Failed with result 'start-limit-hit'.

systemctl start then fails with the explanation from bus-wait-for-jobs.c:

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

Fix: find the real failure

bash
journalctl -u myapp.service -b --no-pager | head -50
systemctl status myapp.service

The first Main process exited, code=exited, status=... line and the application's own output before it tell you why the service stops. Common causes are a wrong ExecStart= path, a missing configuration file, a port already in use, or missing permissions for the User= the service runs as.

Clear the limit and start again

bash
sudo systemctl reset-failed myapp.service
sudo systemctl start myapp.service

reset-failed resets the failed state and the start rate counter. Without it, the unit stays blocked until the interval has passed.

Tune the restart behaviour

/etc/systemd/system/myapp.service.d/restart.conf
[Unit]
StartLimitIntervalSec=60
StartLimitBurst=5

[Service]
Restart=on-failure
RestartSec=5

With RestartSec=5, five restarts take more than 20 seconds, so a service that recovers by itself gets time to do so, and one that keeps crashing still stops after five attempts in a minute. StartLimitIntervalSec= and StartLimitBurst= belong in [Unit]; older systemd releases used StartLimitInterval= in [Service]. Run systemctl daemon-reload after editing.

Sources