サービスが落ちたときにすぐ戻ってほしくて RestartSec=1 とかにすると、
起動に失敗する設定を入れたときに再起動ループになります。
1 秒間隔で起動と失敗を繰り返すので、ログがみるみる埋まります。
[Service]
Restart=on-failure
RestartSec=10s
StartLimitIntervalSec=300
StartLimitBurst=5
StartLimitIntervalSec と StartLimitBurst を入れておくと、
一定回数失敗したところで諦めてくれます。諦めてくれたほうが、
ログを読みに行く余裕ができて助かります。
これらの制限は [Unit] ではなく [Service] ではなく
[Unit] 側に書く必要があります。バージョンによって扱いが変わった経緯があり、
古い記事のとおりに書くと効かないことがあります。
systemctl show -p RestartUSec -p StartLimitIntervalUSec unit
で実際に効いている値を確認するのが確実です。
正常終了(exit 0)したときにも再起動したいなら always、
異常終了のときだけでいいなら on-failure です。
ワンショットの処理を always にすると延々と走り続けるので、
そこは用途で分けたほうがいいと思います。