]>
Commit | Line | Data |
---|---|---|
14228c0d | 1 | '\" t |
e735f4d4 | 2 | .TH "SYSTEMD\-BOOTCHART" "1" "" "systemd 219" "systemd-bootchart" |
14228c0d MB |
3 | .\" ----------------------------------------------------------------- |
4 | .\" * Define some portability stuff | |
5 | .\" ----------------------------------------------------------------- | |
6 | .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
7 | .\" http://bugs.debian.org/507673 | |
8 | .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html | |
9 | .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
10 | .ie \n(.g .ds Aq \(aq | |
11 | .el .ds Aq ' | |
12 | .\" ----------------------------------------------------------------- | |
13 | .\" * set default formatting | |
14 | .\" ----------------------------------------------------------------- | |
15 | .\" disable hyphenation | |
16 | .nh | |
17 | .\" disable justification (adjust text to left margin only) | |
18 | .ad l | |
19 | .\" ----------------------------------------------------------------- | |
20 | .\" * MAIN CONTENT STARTS HERE * | |
21 | .\" ----------------------------------------------------------------- | |
22 | .SH "NAME" | |
23 | systemd-bootchart \- Boot performance graphing tool | |
24 | .SH "DESCRIPTION" | |
25 | .PP | |
26 | \fBsystemd\-bootchart\fR | |
27 | is a tool, usually run at system startup, that collects the CPU load, disk load, memory usage, as well as per\-process information from a running system\&. Collected results are output as an SVG graph\&. Normally, systemd\-bootchart is invoked by the kernel by passing | |
28 | \fBinit=\fR\fB/usr/lib/systemd/systemd\-bootchart\fR | |
f47781d8 | 29 | on the kernel command line\&. systemd\-bootchart will then fork the real init off to resume normal system startup, while monitoring and logging startup information in the background\&. |
14228c0d MB |
30 | .PP |
31 | After collecting a certain amount of data (usually 15\-30 seconds, default 20 s) the logging stops and a graph is generated from the logged information\&. This graph contains vital clues as to which resources are being used, in which order, and where possible problems exist in the startup sequence of the system\&. It is essentially a more detailed version of the | |
60f067b4 | 32 | \fBsystemd\-analyze plot\fR |
14228c0d MB |
33 | function\&. |
34 | .PP | |
35 | Of course, bootchart can also be used at any moment in time to collect and graph some data for an amount of time\&. It is recommended to use the | |
36 | \fB\-\-rel\fR | |
37 | switch in this case\&. | |
38 | .PP | |
39 | Bootchart does not require root privileges, and will happily run as a normal user\&. | |
40 | .PP | |
41 | Bootchart graphs are by default written time\-stamped in | |
42 | /run/log | |
43 | and saved to the journal with | |
44 | \fIMESSAGE_ID=9f26aa562cf440c2b16c773d0479b518\fR\&. Journal field | |
45 | \fIBOOTCHART=\fR | |
46 | contains the bootchart in SVG format\&. | |
47 | .SH "INVOCATION" | |
48 | .PP | |
49 | \fBsystemd\-bootchart\fR | |
50 | can be invoked in several different ways: | |
51 | .PP | |
52 | \fIKernel invocation\fR | |
53 | .RS 4 | |
54 | The kernel can invoke | |
55 | \fBsystemd\-bootchart\fR | |
56 | instead of the init process\&. In turn, | |
57 | \fBsystemd\-bootchart\fR | |
58 | will invoke | |
e735f4d4 | 59 | \fB/usr/lib/systemd/systemd\fR\&. |
14228c0d MB |
60 | .RE |
61 | .PP | |
62 | \fIStarted as a standalone program\fR | |
63 | .RS 4 | |
64 | One can execute | |
65 | \fBsystemd\-bootchart\fR | |
f47781d8 | 66 | as normal application from the command line\&. In this mode it is highly recommended to pass the |
14228c0d | 67 | \fB\-r\fR |
5eef597e | 68 | flag in order to not graph the time elapsed since boot and before systemd\-bootchart was started, as it may result in extremely large graphs\&. The time elapsed since boot might also include any time that the system was suspended\&. |
14228c0d MB |
69 | .RE |
70 | .SH "OPTIONS" | |
71 | .PP | |
72 | These options can also be set in the | |
73 | /etc/systemd/bootchart\&.conf | |
74 | file\&. See | |
75 | \fBbootchart.conf\fR(5)\&. | |
76 | .PP | |
77 | \fB\-h\fR, \fB\-\-help\fR | |
78 | .RS 4 | |
60f067b4 | 79 | Print a short help text and exit\&. |
14228c0d MB |
80 | .RE |
81 | .PP | |
82 | \fB\-n\fR, \fB\-\-sample \fR\fB\fIN\fR\fR | |
83 | .RS 4 | |
84 | Specify the number of samples, | |
85 | \fIN\fR, to record\&. Samples will be recorded at intervals defined with | |
86 | \fB\-\-freq\fR\&. | |
87 | .RE | |
88 | .PP | |
89 | \fB\-f\fR, \fB\-\-freq \fR\fB\fIf\fR\fR | |
90 | .RS 4 | |
91 | Specify the sample log frequency, a positive real | |
92 | \fIf\fR, in Hz\&. Most systems can cope with values up to 25\-50 without creating too much overhead\&. | |
93 | .RE | |
94 | .PP | |
95 | \fB\-r\fR, \fB\-\-rel\fR | |
96 | .RS 4 | |
97 | Use relative times instead of absolute times\&. This is useful for using bootchart at post\-boot time to profile an already booted system\&. Without this option the graph would become extremely large\&. If set, the horizontal axis starts at the first recorded sample instead of time 0\&.0\&. | |
98 | .RE | |
99 | .PP | |
100 | \fB\-F\fR, \fB\-\-no\-filter\fR | |
101 | .RS 4 | |
102 | Disable filtering of tasks that did not contribute significantly to the boot\&. Processes that are too short\-lived (only seen in one sample) or that do not consume any significant CPU time (less than 0\&.001 s) will not be displayed in the output graph\&. | |
103 | .RE | |
104 | .PP | |
105 | \fB\-C\fR, \fB\-\-cmdline\fR | |
106 | .RS 4 | |
107 | Display the full command line with arguments of processes, instead of only the process name\&. | |
108 | .RE | |
109 | .PP | |
60f067b4 JS |
110 | \fB\-g\fR, \fB\-\-control\-group\fR |
111 | .RS 4 | |
112 | Display process control group | |
113 | .RE | |
114 | .PP | |
14228c0d MB |
115 | \fB\-o\fR, \fB\-\-output \fR\fB\fIpath\fR\fR |
116 | .RS 4 | |
117 | Specify the output directory for the graphs\&. By default, bootchart writes the graphs to | |
118 | /run/log\&. | |
119 | .RE | |
120 | .PP | |
121 | \fB\-i\fR, \fB\-\-init \fR\fB\fIpath\fR\fR | |
122 | .RS 4 | |
123 | Use this init binary\&. Defaults to | |
e735f4d4 | 124 | \fB/usr/lib/systemd/systemd\fR\&. |
14228c0d MB |
125 | .RE |
126 | .PP | |
127 | \fB\-p\fR, \fB\-\-pss\fR | |
128 | .RS 4 | |
129 | Enable logging and graphing of processes\*(Aq PSS (Proportional Set Size) memory consumption\&. See | |
130 | filesystems/proc\&.txt | |
131 | in the kernel documentation for an explanation of this field\&. | |
132 | .RE | |
133 | .PP | |
134 | \fB\-e\fR, \fB\-\-entropy\fR | |
135 | .RS 4 | |
136 | Enable logging and graphing of the kernel random entropy pool size\&. | |
137 | .RE | |
138 | .PP | |
139 | \fB\-x\fR, \fB\-\-scale\-x \fR\fB\fIN\fR\fR | |
140 | .RS 4 | |
141 | Horizontal scaling factor for all variable graph components\&. | |
142 | .RE | |
143 | .PP | |
144 | \fB\-y\fR, \fB\-\-scale\-y \fR\fB\fIN\fR\fR | |
145 | .RS 4 | |
146 | Vertical scaling factor for all variable graph components\&. | |
147 | .RE | |
148 | .SH "OUTPUT" | |
149 | .PP | |
150 | \fBsystemd\-bootchart\fR | |
151 | generates SVG graphs\&. In order to render those on a graphical display any SVG capable viewer can be used\&. It should be noted that the SVG render engines in most browsers (including Chrome and Firefox) are many times faster than dedicated graphical applications like Gimp and Inkscape\&. Just point your browser at | |
152 | \m[blue]\fB\%file:///run/log/\fR\m[]! | |
153 | .SH "HISTORY" | |
154 | .PP | |
155 | This version of bootchart was implemented from scratch, but is inspired by former bootchart incantations: | |
156 | .PP | |
157 | \fIOriginal bash\fR | |
158 | .RS 4 | |
159 | The original bash/shell code implemented bootchart\&. This version created a compressed tarball for processing with external applications\&. This version did not graph anything, only generated data\&. | |
160 | .RE | |
161 | .PP | |
162 | \fIUbuntu C Implementation\fR | |
163 | .RS 4 | |
164 | This version replaced the shell version with a fast and efficient data logger, but also did not graph the data\&. | |
165 | .RE | |
166 | .PP | |
167 | \fIJava bootchart\fR | |
168 | .RS 4 | |
169 | This was the original graphing application for charting the data, written in java\&. | |
170 | .RE | |
171 | .PP | |
172 | \fIpybootchartgui\&.py\fR | |
173 | .RS 4 | |
174 | pybootchart created a graph from the data collected by either the bash or C version\&. | |
175 | .RE | |
176 | .PP | |
177 | The version of bootchart you are using now combines both the data collection and the charting into a single application, making it more efficient and simpler\&. There are no longer any timing issues with the data collector and the grapher, as the graphing cannot be run until the data has been collected\&. Also, the data kept in memory is reduced to the absolute minimum needed\&. | |
178 | .SH "SEE ALSO" | |
179 | .PP | |
180 | \fBbootchart.conf\fR(5) | |
181 | .SH "BUGS" | |
182 | .PP | |
183 | systemd\-bootchart does not get the model information for the hard drive unless the root device is specified with | |
184 | root=/dev/sdxY\&. Using UUIDs or PARTUUIDs will boot fine, but the hard drive model will not be added to the chart\&. | |
185 | .PP | |
186 | For bugs, please contact the author and current maintainer: | |
187 | .RS 4 | |
188 | Auke Kok <auke\-jan\&.h\&.kok@intel\&.com> | |
189 | .RE |