When I wanted to know how long systemd actually needed to boot the default target, how would I do that ? An then, is it possible to create a graph to show which unit takes how much time to initialize and to what degree they are run in parallel ?


Use systemd-analyze built-in tool. You are especially interested in two options: blame and plot

systemd-analyze blame
systemd-analyze plot > graph.svg
  • blame: Print list of running units ordered by time to init
  • plot: Output SVG graphic showing service initialization
| improve this answer | |

To find out how long it takes for the system to boot, systemd provides systemd-analyze. Without parameters, it will tell you the time to boot.

Calling systemd-analyze critical-chain will print a tree of the chain of services that took the longest, while systemd-analyze blame will tell you how long each service took independently. Finally, systemd-analyze plot > boot.svg will create a little graph that shows everything nicely.

If you want fancier graphs, the Arch Linux wiki has a good article on using Bootchart, which as its name implies, creates boot graphs.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.