Index · Directives · Python · libudev · gudev systemd 199

Name

systemd-analyze — Analyze system boot-up performance

Synopsis

systemd-analyze [OPTIONS...] time

systemd-analyze [OPTIONS...] blame

systemd-analyze [OPTIONS...] plot [> file.svg]

systemd-analyze [OPTIONS...] dot

Description

systemd-analyze may be used to determine system boot-up performance of the current boot.

systemd-analyze time 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.

systemd-analyze blame 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.

systemd-analyze plot prints an SVG graphic detailing which system services have been started at what time, highlighting the time they spent on initialization.

systemd-analyze dot Generate textual dependency graph description in dot format for further processing with the GraphViz dot(1) tool. Use a command line like systemd-analyze dot | dot -Tsvg > systemd.svg to generate a graphical dependency tree. Unless --order or --require is passed the generated graph will show both ordering and requirement dependencies.

If no command is passed systemd-analyze time is implied.

Options

The following options are understood:

-h, --help

Prints a short help text and exits.

--user

Shows performance data of user sessions instead of the system manager.

--order, --require

When used in conjunction with the dot command (see above), selects which dependencies are shown in the dependency graph. If --order is passed only dependencies of type After= or Before= are shown. If --require is passed only dependencies of type Requires=, RequiresOverridable=, Requisite=, RequisiteOverridable=, Wants= and Conflicts= are shown. If neither is passed, shows dependencies of all these types.

Exit status

On success 0 is returned, a non-zero failure code otherwise.

See Also

systemd(1), systemctl(1)