SYSTEMD-ANALYZE(1) systemd-analyze SYSTEMD-ANALYZE(1)
NAME
systemd-analyze - Analyze and debug system manager
SYNOPSIS
systemd-analyze [OPTIONS...] [time]
systemd-analyze [OPTIONS...] blame
systemd-analyze [OPTIONS...] critical-chain [UNIT...]
systemd-analyze [OPTIONS...] dump
systemd-analyze [OPTIONS...] plot [>file.svg]
systemd-analyze [OPTIONS...] dot [PATTERN...] [>file.dot]
systemd-analyze [OPTIONS...] unit-paths
systemd-analyze [OPTIONS...] exit-status [STATUS...]
systemd-analyze [OPTIONS...] capability [CAPABILITY...]
systemd-analyze [OPTIONS...] condition CONDITION...
systemd-analyze [OPTIONS...] syscall-filter [SET...]
systemd-analyze [OPTIONS...] calendar SPEC...
systemd-analyze [OPTIONS...] timestamp TIMESTAMP...
systemd-analyze [OPTIONS...] timespan SPAN...
systemd-analyze [OPTIONS...] cat-config NAME|PATH...
systemd-analyze [OPTIONS...] verify [FILE...]
systemd-analyze [OPTIONS...] security UNIT...
DESCRIPTION
systemd-analyze may be used to determine system boot-up performance
statistics and retrieve other state and tracing information from the
system and service manager, and to verify the correctness of unit
files. It is also used to access special functions useful for advanced
system manager debugging.
If no command is passed, systemd-analyze time is implied.
systemd-analyze time
This command prints the time spent in the kernel before userspace has
been reached, the time spent in the initial RAM disk (initrd) before
normal system userspace has been reached, and the time normal system
userspace took to initialize. Note that these measurements simply
measure the time passed up to the point where all system services have
been spawned, but not necessarily until they fully finished
initialization or the disk is idle.
Example 1. Show how long the boot took
# in a container
$ systemd-analyze time
Startup finished in 296ms (userspace)
multi-user.target reached after 275ms in userspace
# on a real machine
$ systemd-analyze time
Startup finished in 2.584s (kernel) + 19.176s (initrd) + 47.847s (userspace) = 1min 9.608s
multi-user.target reached after 47.820s in userspace
systemd-analyze blame
This command prints a list of all running units, ordered by the time
they took to initialize. This information may be used to optimize
boot-up times. Note that the output might be misleading as the
initialization of one service might be slow simply because it waits for
the initialization of another service to complete. Also note:
systemd-analyze blame doesn't display results for services with
Type=simple, because systemd considers such services to be started
immediately, hence no measurement of the initialization delays can be
done. Also note that this command only shows the time units took for
starting up, it does not show how long unit jobs spent in the execution
queue. In particular it shows the time units spent in "activating"
state, which is not defined for units such as device units that
transition directly from "inactive" to "active". This command hence
gives an impression of the performance of program code, but cannot
accurately reflect latency introduced by waiting for hardware and
similar events.
Example 2. Show which units took the most time during boot
$ systemd-analyze blame
32.875s pmlogger.service
20.905s systemd-networkd-wait-online.service
13.299s dev-vda1.device
...
23ms sysroot.mount
11ms initrd-udevadm-cleanup-db.service
3ms sys-kernel-config.mount
systemd-analyze critical-chain [UNIT...]
This command prints a tree of the time-critical chain of units (for
each of the specified UNITs or for the default target otherwise). The
time after the unit is active or started is printed after the "@"
character. The time the unit takes to start is printed after the "+"
character. Note that the output might be misleading as the
initialization of services might depend on socket activation and
because of the parallel execution of units. Also, similar to the blame
command, this only takes into account the time units spent in
"activating" state, and hence does not cover units that never went
through an "activating" state (such as device units that transition
directly from "inactive" to "active"). Moreover it does not show
information on jobs (and in particular not jobs that timed out).
Example 3. systemd-analyze critical-chain
$ systemd-analyze critical-chain
multi-user.target @47.820s
pmie.service @35.968s +548ms
pmcd.service @33.715s +2.247s
network-online.target @33.712s
systemd-networkd-wait-online.service @12.804s +20.905s
systemd-networkd.service @11.109s +1.690s
systemd-udevd.service @9.201s +1.904s
systemd-tmpfiles-setup-dev.service @7.306s +1.776s
kmod-static-nodes.service @6.976s +177ms
systemd-journald.socket
system.slice
-.slice
systemd-analyze dump
This command outputs a (usually very long) human-readable serialization
of the complete server state. Its format is subject to change without
notice and should not be parsed by applications.
Example 4. Show the internal state of user manager
$ systemd-analyze --user dump
Timestamp userspace: Thu 2019-03-14 23:28:07 CET
Timestamp finish: Thu 2019-03-14 23:28:07 CET
Timestamp generators-start: Thu 2019-03-14 23:28:07 CET
Timestamp generators-finish: Thu 2019-03-14 23:28:07 CET
Timestamp units-load-start: Thu 2019-03-14 23:28:07 CET
Timestamp units-load-finish: Thu 2019-03-14 23:28:07 CET
-> Unit proc-timer_list.mount:
Description: /proc/timer_list
...
-> Unit default.target:
Description: Main user target
...
systemd-analyze plot
This command prints an SVG graphic detailing which system services have
been started at what time, highlighting the time they spe'
SYSTEMD-ANALYZE(1) systemd-analyze SYSTEMD-ANALYZE(1)
NAME
systemd-analyze - Analyze and debug system manager
SYNOPSIS
systemd-analyze [OPTIONS...] [time]
systemd-analyze [OPTIONS...] blame
systemd-analyze [OPTIONS...] critical-chain [UNIT...]
systemd-analyze [OPTIONS...] dump
systemd-analyze [OPTIONS...] plot [>file.svg]
systemd-analyze [OPTIONS...] dot [PATTERN...] [>file.dot]
systemd-analyze [OPTIONS...] unit-paths
systemd-analyze [OPTIONS...] exit-status [STATUS...]
systemd-analyze [OPTIONS...] capability [CAPABILITY...]
systemd-analyze [OPTIONS...] condition CONDITION...
systemd-analyze [OPTIONS...] syscall-filter [SET...]
systemd-analyze [OPTIONS...] calendar SPEC...
systemd-analyze [OPTIONS...] timestamp TIMESTAMP...
systemd-analyze [OPTIONS...] timespan SPAN...
systemd-analyze [OPTIONS...] cat-config NAME|PATH...
systemd-analyze [OPTIONS...] verify [FILE...]
systemd-analyze [OPTIONS...] security UNIT...
DESCRIPTION
systemd-analyze may be used to determine system boot-up performance
statistics and retrieve other state and tracing information from the
system and service manager, and to verify the correctness of unit
files. It is also used to access special functions useful for advanced
system manager debugging.
If no command is passed, systemd-analyze time is implied.
systemd-analyze time
This command prints the time spent in the kernel before userspace has
been reached, the time spent in the initial RAM disk (initrd) before
normal system userspace has been reached, and the time normal system
userspace took to initialize. Note that these measurements simply
measure the time passed up to the point where all system services have
been spawned, but not necessarily until they fully finished
initialization or the disk is idle.
Example 1. Show how long the boot took
# in a container
$ systemd-analyze time
Startup finished in 296ms (userspace)
multi-user.target reached after 275ms in userspace
# on a real machine
$ systemd-analyze time
Startup finished in 2.584s (kernel) + 19.176s (initrd) + 47.847s (userspace) = 1min 9.608s
multi-user.target reached after 47.820s in userspace
systemd-analyze blame
This command prints a list of all running units, ordered by the time
they took to initialize. This information may be used to optimize
boot-up times. Note that the output might be misleading as the
initialization of one service might be slow simply because it waits for
the initialization of another service to complete. Also note:
systemd-analyze blame doesn't display results for services with
Type=simple, because systemd considers such services to be started
immediately, hence no measurement of the initialization delays can be
done. Also note that this command only shows the time units took for
starting up, it does not show how long unit jobs spent in the execution
queue. In particular it shows the time units spent in "activating"
state, which is not defined for units such as device units that
transition directly from "inactive" to "active". This command hence
gives an impression of the performance of program code, but cannot
accurately reflect latency introduced by waiting for hardware and
similar events.
Example 2. Show which units took the most time during boot
$ systemd-analyze blame
32.875s pmlogger.service
20.905s systemd-networkd-wait-online.service
13.299s dev-vda1.device
...
23ms sysroot.mount
11ms initrd-udevadm-cleanup-db.service
3ms sys-kernel-config.mount
systemd-analyze critical-chain [UNIT...]
This command prints a tree of the time-critical chain of units (for
each of the specified UNITs or for the default target otherwise). The
time after the unit is active or started is printed after the "@"
character. The time the unit takes to start is printed after the "+"
character. Note that the output might be misleading as the
initialization of services might depend on socket activation and
because of the parallel execution of units. Also, similar to the blame
command, this only takes into account the time units spent in
"activating" state, and hence does not cover units that never went
through an "activating" state (such as device units that transition
directly from "inactive" to "active"). Moreover it does not show
information on jobs (and in particular not jobs that timed out).
Example 3. systemd-analyze critical-chain
$ systemd-analyze critical-chain
multi-user.target @47.820s
pmie.service @35.968s +548ms
pmcd.service @33.715s +2.247s
network-online.target @33.712s
systemd-networkd-wait-online.service @12.804s +20.905s
systemd-networkd.service @11.109s +1.690s
systemd-udevd.service @9.201s +1.904s
systemd-tmpfiles-setup-dev.service @7.306s +1.776s
kmod-static-nodes.service @6.976s +177ms
systemd-journald.socket
system.slice
-.slice
systemd-analyze dump
This command outputs a (usually very long) human-readable serialization
of the complete server state. Its format is subject to change without
notice and should not be parsed by applications.
Example 4. Show the internal state of user manager
$ systemd-analyze --user dump
Timestamp userspace: Thu 2019-03-14 23:28:07 CET
Timestamp finish: Thu 2019-03-14 23:28:07 CET
Timestamp generators-start: Thu 2019-03-14 23:28:07 CET
Timestamp generators-finish: Thu 2019-03-14 23:28:07 CET
Timestamp units-load-start: Thu 2019-03-14 23:28:07 CET
Timestamp units-load-finish: Thu 2019-03-14 23:28:07 CET
-> Unit proc-timer_list.mount:
Description: /proc/timer_list
...
-> Unit default.target:
Description: Main user target
...
systemd-analyze plot
This command prints an SVG graphic detailing which system services have
been started at what time, highlighting the time they spe'
SYSTEMD-ANALYZE(1) systemd-analyze SYSTEMD-ANALYZE(1)
NAME
systemd-analyze - Analyze and debug system manager
SYNOPSIS
systemd-analyze [OPTIONS...] [time]
systemd-analyze [OPTIONS...] blame
systemd-analyze [OPTIONS...] critical-chain [UNIT...]
systemd-analyze [OPTIONS...] dump
systemd-analyze [OPTIONS...] plot [>file.svg]
systemd-analyze [OPTIONS...] dot [PATTERN...] [>file.dot]
systemd-analyze [OPTIONS...] unit-paths
systemd-analyze [OPTIONS...] exit-status [STATUS...]
systemd-analyze [OPTIONS...] capability [CAPABILITY...]
systemd-analyze [OPTIONS...] condition CONDITION...
systemd-analyze [OPTIONS...] syscall-filter [SET...]
systemd-analyze [OPTIONS...] calendar SPEC...
systemd-analyze [OPTIONS...] timestamp TIMESTAMP...
systemd-analyze [OPTIONS...] timespan SPAN...
systemd-analyze [OPTIONS...] cat-config NAME|PATH...
systemd-analyze [OPTIONS...] verify [FILE...]
systemd-analyze [OPTIONS...] security UNIT...
DESCRIPTION
systemd-analyze may be used to determine system boot-up performance
statistics and retrieve other state and tracing information from the
system and service manager, and to verify the correctness of unit
files. It is also used to access special functions useful for advanced
system manager debugging.
If no command is passed, systemd-analyze time is implied.
systemd-analyze time
This command prints the time spent in the kernel before userspace has
been reached, the time spent in the initial RAM disk (initrd) before
normal system userspace has been reached, and the time normal system
userspace took to initialize. Note that these measurements simply
measure the time passed up to the point where all system services have
been spawned, but not necessarily until they fully finished
initialization or the disk is idle.
Example 1. Show how long the boot took
# in a container
$ systemd-analyze time
Startup finished in 296ms (userspace)
multi-user.target reached after 275ms in userspace
# on a real machine
$ systemd-analyze time
Startup finished in 2.584s (kernel) + 19.176s (initrd) + 47.847s (userspace) = 1min 9.608s
multi-user.target reached after 47.820s in userspace
systemd-analyze blame
This command prints a list of all running units, ordered by the time
they took to initialize. This information may be used to optimize
boot-up times. Note that the output might be misleading as the
initialization of one service might be slow simply because it waits for
the initialization of another service to complete. Also note:
systemd-analyze blame doesn't display results for services with
Type=simple, because systemd considers such services to be started
immediately, hence no measurement of the initialization delays can be
done. Also note that this command only shows the time units took for
starting up, it does not show how long unit jobs spent in the execution
queue. In particular it shows the time units spent in "activating"
state, which is not defined for units such as device units that
transition directly from "inactive" to "active". This command hence
gives an impression of the performance of program code, but cannot
accurately reflect latency introduced by waiting for hardware and
similar events.
Example 2. Show which units took the most time during boot
$ systemd-analyze blame
32.875s pmlogger.service
20.905s systemd-networkd-wait-online.service
13.299s dev-vda1.device
...
23ms sysroot.mount
11ms initrd-udevadm-cleanup-db.service
3ms sys-kernel-config.mount
systemd-analyze critical-chain [UNIT...]
This command prints a tree of the time-critical chain of units (for
each of the specified UNITs or for the default target otherwise). The
time after the unit is active or started is printed after the "@"
character. The time the unit takes to start is printed after the "+"
character. Note that the output might be misleading as the
initialization of services might depend on socket activation and
because of the parallel execution of units. Also, similar to the blame
command, this only takes into account the time units spent in
"activating" state, and hence does not cover units that never went
through an "activating" state (such as device units that transition
directly from "inactive" to "active"). Moreover it does not show
information on jobs (and in particular not jobs that timed out).
Example 3. systemd-analyze critical-chain
$ systemd-analyze critical-chain
multi-user.target @47.820s
pmie.service @35.968s +548ms
pmcd.service @33.715s +2.247s
network-online.target @33.712s
systemd-networkd-wait-online.service @12.804s +20.905s
systemd-networkd.service @11.109s +1.690s
systemd-udevd.service @9.201s +1.904s
systemd-tmpfiles-setup-dev.service @7.306s +1.776s
kmod-static-nodes.service @6.976s +177ms
systemd-journald.socket
system.slice
-.slice
systemd-analyze dump
This command outputs a (usually very long) human-readable serialization
of the complete server state. Its format is subject to change without
notice and should not be parsed by applications.
Example 4. Show the internal state of user manager
$ systemd-analyze --user dump
Timestamp userspace: Thu 2019-03-14 23:28:07 CET
Timestamp finish: Thu 2019-03-14 23:28:07 CET
Timestamp generators-start: Thu 2019-03-14 23:28:07 CET
Timestamp generators-finish: Thu 2019-03-14 23:28:07 CET
Timestamp units-load-start: Thu 2019-03-14 23:28:07 CET
Timestamp units-load-finish: Thu 2019-03-14 23:28:07 CET
-> Unit proc-timer_list.mount:
Description: /proc/timer_list
...
-> Unit default.target:
Description: Main user target
...
systemd-analyze plot
This command prints an SVG graphic detailing which system services have
been started at what time, highlighting the time they spe'
SYSTEMD-ANALYZE(1) systemd-analyze SYSTEMD-ANALYZE(1)
NAME
systemd-analyze - Analyze and debug system manager
SYNOPSIS
systemd-analyze [OPTIONS...] [time]
systemd-analyze [OPTIONS...] blame
systemd-analyze [OPTIONS...] critical-chain [UNIT...]
systemd-analyze [OPTIONS...] dump
systemd-analyze [OPTIONS...] plot [>file.svg]
systemd-analyze [OPTIONS...] dot [PATTERN...] [>file.dot]
systemd-analyze [OPTIONS...] unit-paths
systemd-analyze [OPTIONS...] exit-status [STATUS...]
systemd-analyze [OPTIONS...] capability [CAPABILITY...]
systemd-analyze [OPTIONS...] condition CONDITION...
systemd-analyze [OPTIONS...] syscall-filter [SET...]
systemd-analyze [OPTIONS...] calendar SPEC...
systemd-analyze [OPTIONS...] timestamp TIMESTAMP...
systemd-analyze [OPTIONS...] timespan SPAN...
systemd-analyze [OPTIONS...] cat-config NAME|PATH...
systemd-analyze [OPTIONS...] verify [FILE...]
systemd-analyze [OPTIONS...] security UNIT...
DESCRIPTION
systemd-analyze may be used to determine system boot-up performance
statistics and retrieve other state and tracing information from the
system and service manager, and to verify the correctness of unit
files. It is also used to access special functions useful for advanced
system manager debugging.
If no command is passed, systemd-analyze time is implied.
systemd-analyze time
This command prints the time spent in the kernel before userspace has
been reached, the time spent in the initial RAM disk (initrd) before
normal system userspace has been reached, and the time normal system
userspace took to initialize. Note that these measurements simply
measure the time passed up to the point where all system services have
been spawned, but not necessarily until they fully finished
initialization or the disk is idle.
Example 1. Show how long the boot took
# in a container
$ systemd-analyze time
Startup finished in 296ms (userspace)
multi-user.target reached after 275ms in userspace
# on a real machine
$ systemd-analyze time
Startup finished in 2.584s (kernel) + 19.176s (initrd) + 47.847s (userspace) = 1min 9.608s
multi-user.target reached after 47.820s in userspace
systemd-analyze blame
This command prints a list of all running units, ordered by the time
they took to initialize. This information may be used to optimize
boot-up times. Note that the output might be misleading as the
initialization of one service might be slow simply because it waits for
the initialization of another service to complete. Also note:
systemd-analyze blame doesn't display results for services with
Type=simple, because systemd considers such services to be started
immediately, hence no measurement of the initialization delays can be
done. Also note that this command only shows the time units took for
starting up, it does not show how long unit jobs spent in the execution
queue. In particular it shows the time units spent in "activating"
state, which is not defined for units such as device units that
transition directly from "inactive" to "active". This command hence
gives an impression of the performance of program code, but cannot
accurately reflect latency introduced by waiting for hardware and
similar events.
Example 2. Show which units took the most time during boot
$ systemd-analyze blame
32.875s pmlogger.service
20.905s systemd-networkd-wait-online.service
13.299s dev-vda1.device
...
23ms sysroot.mount
11ms initrd-udevadm-cleanup-db.service
3ms sys-kernel-config.mount
systemd-analyze critical-chain [UNIT...]
This command prints a tree of the time-critical chain of units (for
each of the specified UNITs or for the default target otherwise). The
time after the unit is active or started is printed after the "@"
character. The time the unit takes to start is print
systemd 247 SYSTEMD-ANALYZE(1)
Czas wygenerowania: 0.00039 sek.
Created with the man page lookup class by Andrew Collington.
Based on a C man page viewer by Vadim Pavlov
Unicode soft-hyphen fix (as used by RedHat) by Dan Edwards
Some optimisations by Eli Argon
Caching idea and code contribution by James Richardson
Copyright © 2003-2025 Linux.pl
Hosted by Hosting Linux.pl