On 07/09/2017 10:16, Samuli Seppänen wrote: > On 07/09/2017 09:16, Gert Doering wrote: >> Hi, >> >> On Thu, Sep 07, 2017 at 01:52:02AM +0200, David Sommerseth wrote: >>> @@ -18,6 +18,8 @@ DeviceAllow=/dev/net/tun rw >>> ProtectSystem=true >>> ProtectHome=true >>> KillMode=process >>> +RestartSec=5s >>> +Restart=on-failure >> >> Is there a way to get exponential backoff on restart? >> >> Restarting is good, but if there is something faulty that leads to >> "the process always dies right away", this can lead to very quickly >> filling disks with not-so-useful logging... >> >> (Otherwise, yes, restarting is good :-) ) >> > > Hi, > > From systemd.unit man-page[1]: > > StartLimitIntervalSec=, StartLimitBurst= > > Configure unit start rate limiting. By default, units which are > started more than 5 times within 10 seconds are not permitted to > start any more times until the 10 second interval ends. > > I verified this behavior on CentOS 7 using another daemon (monit) by > setting "Restart=on-failure" for it, breaking its config file and > forcibly killing it. Note that RestartSec is the default, i.e. 100ms: > > --- > > Sep 07 09:55:37 centos-7 systemd[1]: monit.service: control process > exited, code=exited status=1 > > Sep 07 09:55:37 centos-7 systemd[1]: Unit monit.service entered failed > state. > > Sep 07 09:55:37 centos-7 systemd[1]: monit.service holdoff time over, > scheduling restart. > > Sep 07 09:55:37 centos-7 systemd[1]: Stopping Pro-active monitoring > utility for unix systems... > > Sep 07 09:55:37 centos-7 systemd[1]: Starting Pro-active monitoring > utility for unix systems... > > Sep 07 09:55:37 centos-7 systemd[1]: monit.service start request > repeated too quickly, refusing to start. > > Sep 07 09:55:37 centos-7 systemd[1]: Failed to start Pro-active > monitoring utility for unix systems. > > Sep 07 09:55:37 centos-7 systemd[1]: Unit monit.service entered failed > state. > > --- > > As you can see, systemd quickly realizes that monit will not come back > up and stops trying. > > However, when I added "RestartSec=5s" the StartLimit* thresholds were > never triggered. This meant that systemd never ceased trying to restart > the monit service. > > David: any particular reason why you added RestartSec? Why not just let > it be the default (100ms)? >
Actually the man-page quote above is a bit ambiguous. But later on the man-page explain the logic pretty clearly: "Note that units which are configured for Restart= and which reach the start limit are not attempted to be restarted anymore; however, they may still be restarted manually at a later point, from which point on, the restart logic is again activated." -- Samuli Seppänen Community Manager OpenVPN Technologies, Inc irc freenode net: mattock ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel