m (Give full path of systemd because it's not in $PATH) |
|||
(14 intermediate revisions by 5 users not shown) | |||
Line 5: | Line 5: | ||
If you are experiencing a problem with system boot up due to [[Systemd]], please see the [[Bugs/Common|common bugs]] document before filing a bug. Some easy configuration tweaks that fix a wide range of issues may be listed there. If the problem you are seeing is not listed there or none of the workarounds seem to help, please consider filing a bug to help us make Fedora run better on your hardware. | If you are experiencing a problem with system boot up due to [[Systemd]], please see the [[Bugs/Common|common bugs]] document before filing a bug. Some easy configuration tweaks that fix a wide range of issues may be listed there. If the problem you are seeing is not listed there or none of the workarounds seem to help, please consider filing a bug to help us make Fedora run better on your hardware. | ||
= | = Debugging systemd problems = | ||
{{admon/note|Follow the upstream wiki guide|To debug systemd problems please follow the helpful upstream wiki page on the topic:<br> | |||
[http://freedesktop.org/wiki/Software/systemd/Debugging http://freedesktop.org/wiki/Software/systemd/Debugging] | |||
}} | |||
= Various useful systemd related commands = | |||
* Run <code>systemctl list-jobs</code> | * Run <code>systemctl list-jobs</code> | ||
Line 82: | Line 20: | ||
To list all available services and their current status | To list all available services and their current status | ||
* Run <code>systemctl list-units -t service</code> | * Run <code>systemctl list-units -t service</code> | ||
To show all active services | To show all active services | ||
* Run <code>systemctl status sshd.service</code> | * Run <code>systemctl status sshd.service</code> | ||
To examine the current runtime status of a service. (In the above example the ssh service) | To examine the current runtime status of a service. (In the above example the ssh service) | ||
* Run <code>systemctl list-units -t target --all</code> | * Run <code>systemctl list-units -t target --all</code> | ||
To show all available targets. | To show all available targets. | ||
* Run <code>systemctl list-units -t target</code> | * Run <code>systemctl list-units -t target</code> | ||
To show all active targets. | To show all active targets. | ||
* Run <code>systemctl show -p "Wants" multi-user.target</code> | * Run <code>systemctl show -p "Wants" multi-user.target</code> | ||
Line 103: | Line 46: | ||
To see which services a target pulls in. ( In the above example the multi-user.target ) | To see which services a target pulls in. ( In the above example the multi-user.target ) | ||
* Run <code>systemd --test --system --unit=multi-user.target</code> | |||
* Run <code>/usr/lib/systemd/systemd --test --system --unit=multi-user.target</code> | |||
To examine what gets started when when booted into a specific target. ( In the above example the multi-user.target ) | To examine what gets started when when booted into a specific target. ( In the above example the multi-user.target ) | ||
= Systemd boot parameters = | |||
The following boot parameters are also available to further assist with debugging boot issues. | The following boot parameters are also available to further assist with debugging boot issues. |
Latest revision as of 17:13, 14 June 2015
Foreword
If you are experiencing a problem with system boot up due to Systemd, please see the common bugs document before filing a bug. Some easy configuration tweaks that fix a wide range of issues may be listed there. If the problem you are seeing is not listed there or none of the workarounds seem to help, please consider filing a bug to help us make Fedora run better on your hardware.
Debugging systemd problems
- Run
systemctl list-jobs
To identify slow boot and look for the jobs that are "running" those jobs are the ones where boot waits for completion on and the ones that listed as "waiting" will be executed only after those which are "running" are completed.
- Run
systemctl list-units -t service --all
To list all available services and their current status
- Run
systemctl list-units -t service
To show all active services
- Run
systemctl status sshd.service
To examine the current runtime status of a service. (In the above example the ssh service)
- Run
systemctl list-units -t target --all
To show all available targets.
- Run
systemctl list-units -t target
To show all active targets.
- Run
systemctl show -p "Wants" multi-user.target
To see which services a target pulls in. ( In the above example the multi-user.target )
- Run
/usr/lib/systemd/systemd --test --system --unit=multi-user.target
To examine what gets started when when booted into a specific target. ( In the above example the multi-user.target )
Systemd boot parameters
The following boot parameters are also available to further assist with debugging boot issues.
- systemd.unit=
- Overrides the unit to activate on boot. This may be used to temporarily boot into a different boot unit, for example rescue.target or emergency.target. ( Defaults to default.target. )
- systemd.dump_core=
- Takes a boolean argument. If true systemd dumps core when it crashes. Otherwise no core dump is created. ( Defaults to true )
- systemd.crash_shell=
- Takes a boolean argument. If true systemd spawns a shell when it crashes. Otherwise no core dump is created. Defaults to false, for security reasons, as the shell is not protected by any password authentication.
- systemd.crash_chvt=
- Takes an integer argument. If positive systemd activates the specified virtual terminal when it crashes. ( Defaults to -1 )
- systemd.confirm_spawn=
- Takes a boolean argument. If true asks for confirmation when spawning processes. ( Defaults to false )
- systemd.show_status=
- Takes a boolean argument. If true shows terse service status updates on the console during bootup. ( Defaults to true )
- systemd.sysv_console=
- Takes a boolean argument. If true output of SysV init scripts will be directed to the console. ( Defaults to true, unless quiet is passed as kernel command line option in which case it defaults to false. )
- systemd.log_target=
- Set log target. Argument must be one of console, syslog, kmsg, syslog-or-kmsg, null.
- systemd.log_level=
- Set log level. As argument this accepts a numerical log level or the well-known syslog symbolic names (lowercase): emerg, alert, crit, err, warning, notice, info, debug.
- systemd.log_color=
- Highlight important log messages. Argument is a boolean value. If the argument is omitted it defaults to true.
- systemd.log_location=
- Include code location in log messages. This is mostly relevant for debugging purposes. Argument is a boolean value. If the argument is omitted it defaults to true.