1SYSTEMD-BOOTCHART(1)           systemd-bootchart          SYSTEMD-BOOTCHART(1)
2
3
4

NAME

6       systemd-bootchart - Boot performance graphing tool
7

DESCRIPTION

9       systemd-bootchart is a tool, usually run at system startup, that
10       collects the CPU load, disk load, memory usage, as well as per-process
11       information from a running system. Collected results are output as an
12       SVG graph. Normally, systemd-bootchart is invoked by the kernel by
13       passing init=/usr/lib/systemd/systemd-bootchart on the kernel command
14       line. systemd-bootchart will then fork the real init off to resume
15       normal system startup, while monitoring and logging startup information
16       in the background.
17
18       After collecting a certain amount of data (usually 15-30 seconds,
19       default 20 s) the logging stops and a graph is generated from the
20       logged information. This graph contains vital clues as to which
21       resources are being used, in which order, and where possible problems
22       exist in the startup sequence of the system. It is essentially a more
23       detailed version of the systemd-analyze plot function.
24
25       Of course, bootchart can also be used at any moment in time to collect
26       and graph some data for an amount of time. It is recommended to use the
27       --rel switch in this case.
28
29       Bootchart does not require root privileges, and will happily run as a
30       normal user.
31
32       Bootchart graphs are by default written time-stamped in /run/log and
33       saved to the journal with MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518.
34       Journal field BOOTCHART= contains the bootchart in SVG format.
35

INVOCATION

37       systemd-bootchart can be invoked in several different ways:
38
39       Kernel invocation
40           The kernel can invoke systemd-bootchart instead of the init
41           process. In turn, systemd-bootchart will invoke
42           /usr/lib/systemd/systemd.
43
44       Started as a standalone program
45           One can execute systemd-bootchart as normal application from the
46           command line. In this mode it is highly recommended to pass the -r
47           flag in order to not graph the time elapsed since boot and before
48           systemd-bootchart was started, as it may result in extremely large
49           graphs. The time elapsed since boot might also include any time
50           that the system was suspended.
51

OPTIONS

53       These options can also be set in the /etc/systemd/bootchart.conf file.
54       See bootchart.conf(5).
55
56       -h, --help
57           Print a short help text and exit.
58
59       -n, --sample N
60           Specify the number of samples, N, to record. Samples will be
61           recorded at intervals defined with --freq.
62
63       -f, --freq f
64           Specify the sample log frequency, a positive real f, in Hz. Most
65           systems can cope with values up to 25-50 without creating too much
66           overhead.
67
68       -r, --rel
69           Use relative times instead of absolute times. This is useful for
70           using bootchart at post-boot time to profile an already booted
71           system. Without this option the graph would become extremely large.
72           If set, the horizontal axis starts at the first recorded sample
73           instead of time 0.0.
74
75       -F, --no-filter
76           Disable filtering of tasks that did not contribute significantly to
77           the boot. Processes that are too short-lived (only seen in one
78           sample) or that do not consume any significant CPU time (less than
79           0.001 s) will not be displayed in the output graph.
80
81       -C, --cmdline
82           Display the full command line with arguments of processes, instead
83           of only the process name.
84
85       -g, --control-group
86           Display process control group
87
88       -o, --output path
89           Specify the output directory for the graphs. By default, bootchart
90           writes the graphs to /run/log.
91
92       -i, --init path
93           Use this init binary. Defaults to /usr/lib/systemd/systemd.
94
95       -p, --pss
96           Enable logging and graphing of processes' PSS (Proportional Set
97           Size) memory consumption. See filesystems/proc.txt in the kernel
98           documentation for an explanation of this field.
99
100       -e, --entropy
101           Enable logging and graphing of the kernel random entropy pool size.
102
103       -x, --scale-x N
104           Horizontal scaling factor for all variable graph components.
105
106       -y, --scale-y N
107           Vertical scaling factor for all variable graph components.
108

OUTPUT

110       systemd-bootchart generates SVG graphs. In order to render those on a
111       graphical display any SVG capable viewer can be used. It should be
112       noted that the SVG render engines in most browsers (including Chrome
113       and Firefox) are many times faster than dedicated graphical
114       applications like Gimp and Inkscape. Just point your browser at
115       file:///run/log/!
116

HISTORY

118       This version of bootchart was implemented from scratch, but is inspired
119       by former bootchart incantations:
120
121       Original bash
122           The original bash/shell code implemented bootchart. This version
123           created a compressed tarball for processing with external
124           applications. This version did not graph anything, only generated
125           data.
126
127       Ubuntu C Implementation
128           This version replaced the shell version with a fast and efficient
129           data logger, but also did not graph the data.
130
131       Java bootchart
132           This was the original graphing application for charting the data,
133           written in java.
134
135       pybootchartgui.py
136           pybootchart created a graph from the data collected by either the
137           bash or C version.
138
139       The version of bootchart you are using now combines both the data
140       collection and the charting into a single application, making it more
141       efficient and simpler. There are no longer any timing issues with the
142       data collector and the grapher, as the graphing cannot be run until the
143       data has been collected. Also, the data kept in memory is reduced to
144       the absolute minimum needed.
145

SEE ALSO

147       bootchart.conf(5)
148

BUGS

150       systemd-bootchart does not get the model information for the hard drive
151       unless the root device is specified with root=/dev/sdxY. Using UUIDs or
152       PARTUUIDs will boot fine, but the hard drive model will not be added to
153       the chart.
154
155       For bugs, please contact the author and current maintainer:
156           Auke Kok <auke-jan.h.kok@intel.com>
157
158
159
160systemd 219                                               SYSTEMD-BOOTCHART(1)
Impressum