Failed systemd units
medium on-server
What it inspects
`systemctl --failed --no-legend`. No failed units passes, 1 or 2 warns (naming them), and 3 or more fails. If systemctl cannot run (no systemd), the check is skipped.
Why it matters
A failed unit is a service, timer or mount that stopped working and is usually still waiting for someone to notice: a backup that never ran, an updater that cannot start, a monitor that is down. Cleaning up failed units keeps real problems from hiding among old ones.
How to verify
systemctl --failed --no-pager
How to fix
Judgement step: read why each unit failed, fix or disable it, then clear the recorded failure with systemctl reset-failed.
Diagnose each failed unit, then fix or disable it needs your judgement
Any distro
# Look at each failed unit; the right action depends on why it failed.
# systemctl --failed
# systemctl status <unit>
# journalctl -u <unit> -n 100 --no-pager
# Common causes and fixes:
# - the service is not needed (leftover package, unused timer): disable it so it stops failing:
# systemctl disable --now <unit> (or `systemctl mask <unit>` to stop anything starting it)
# - a missing file, wrong permission or bad configuration: fix that, then start it: systemctl restart <unit>
# - killed for lack of memory: see the swap_pressure check.
# After you fix the cause, clear the recorded failure so it stops being listed:
# systemctl reset-failed <unit>
# `reset-failed` only clears the list. Without a real fix the unit fails again at the next start.
# This check warns for 1-2 failed units and fails for 3 or more.