<term><varname>RestartSteps=</varname></term>
<listitem><para>Configures the number of exponential steps to take to increase the interval
of auto-restarts from <varname>RestartSec=</varname> to <varname>RestartMaxDelaySec=</varname>.
- Takes a positive integer or 0 to disable it. Defaults to 0.</para>
+ Takes a positive integer or 0 to disable it. Defaults to 0. <emphasis>Hint:</emphasis> values
+ between 3 and 5 are good choices when exponential backoff is desired.</para>
+
+ <para>Example:</para>
+
+ <programlisting>RestartSec=10s
+RestartSteps=4
+RestartMaxDelaySec=160s</programlisting>
+
+ <para>This will produce the following restart intervals: 10s, 20s, 40s, 80s, 160s, 160s, 160s, etc.
+ Notice the geometric interpolation and the resulting constant ratio between intervals; here it is 2.
+ The formula for the <emphasis>ratio</emphasis> is
+ <inlineequation>
+ <mathphrase>
+ (<varname>RestartMaxDelaySec</varname> / <varname>RestartSec</varname>)^(1 / <varname>RestartSteps</varname>)
+ </mathphrase>
+ </inlineequation>. A (repeating) delay equal to <varname>RestartMaxDelaySec=</varname> is always
+ reached after
+ <inlineequation>
+ <mathphrase>
+ <varname>RestartSteps</varname> + 1
+ </mathphrase>
+ </inlineequation> steps.</para>
<para>This setting is effective only if <varname>RestartMaxDelaySec=</varname> is also set and
<varname>RestartSec=</varname> is not zero.</para>