systemctl status shows : "State: degraded"
That means some of your services failed to start. You can see them if you run systemctl;
without the status
argument.
They should show something like,
loaded failed failed
Or you can just list the failed services with systemctl --failed
, in my case it shows
UNIT LOAD ACTIVE SUB DESCRIPTION
● [email protected] loaded failed failed PostgreSQL Cluster 9.4-main
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
Normally, you'll need to read the journal/log to figure out what to do next about that failing item, by using journalctl -xe
. If you just want to reset the units so the system "says" running
with a green dot, you can run:
systemctl reset-failed
You may also try:
sudo systemctl reset-failed
systemd reset failed is clearing failed units. You can manually clear out failed units with the systemctl reset-failed command. This can be done for all units, or a single one. Services which are no longer needed, are better to be stopped and disabled.
reset-failed [PATTERN...]
Reset the "failed" state of the specified units, or if no unit name is passed, reset the state of all units. When a unit
fails in some way (i.e. process exiting with non-zero error code, terminating abnormally or timing out), it will
automatically enter the "failed" state and its exit code and status is recorded for introspection by the administrator
until the service is stopped/re-started or reset with this command.
In addition to resetting the "failed" state of a unit it also resets various other per-unit properties: the start rate
limit counter of all unit types is reset to zero, as is the restart counter of service units. Thus, if a unit's start
limit (as configured with StartLimitIntervalSec=/StartLimitBurst=) is hit and the unit refuses to be started again, use
this command to make it startable again.
To list failed units/services
$ systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● ipmievd.service loaded failed failed Ipmievd Daemon
● kdump.service loaded failed failed Crash recovery kernel arming
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
2 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.