diff options
Diffstat (limited to 'upstream/fedora-40/man1/systemd-bootchart.1')
-rw-r--r-- | upstream/fedora-40/man1/systemd-bootchart.1 | 197 |
1 files changed, 197 insertions, 0 deletions
diff --git a/upstream/fedora-40/man1/systemd-bootchart.1 b/upstream/fedora-40/man1/systemd-bootchart.1 new file mode 100644 index 00000000..eccf4508 --- /dev/null +++ b/upstream/fedora-40/man1/systemd-bootchart.1 @@ -0,0 +1,197 @@ +'\" t +.TH "SYSTEMD\-BOOTCHART" "1" "" "systemd 234" "systemd-bootchart" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +systemd-bootchart \- Boot performance graphing tool +.SH "DESCRIPTION" +.PP +\fBsystemd\-bootchart\fR +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 +\fBinit=\fR\fB/usr/lib/systemd/systemd\-bootchart\fR +on the kernel command line, adding +\fBinitcall_debug\fR +to collect data on kernel init threads\&. systemd\-bootchart will then fork the real init off to resume normal system startup, while monitoring and logging startup information in the background\&. +.PP +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 +\fBsystemd\-analyze plot\fR +function\&. +.PP +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 +\fB\-\-rel\fR +switch in this case\&. +.PP +Bootchart does not require root privileges, and will happily run as a normal user\&. +.PP +Bootchart graphs are by default written time\-stamped in +/run/log +and saved to the journal with +\fIMESSAGE_ID=9f26aa562cf440c2b16c773d0479b518\fR\&. Journal field +\fIBOOTCHART=\fR +contains the bootchart in SVG format\&. +.SH "INVOCATION" +.PP +\fBsystemd\-bootchart\fR +can be invoked in several different ways: +.PP +\fIKernel invocation\fR +.RS 4 +The kernel can invoke +\fBsystemd\-bootchart\fR +instead of the init process\&. In turn, +\fBsystemd\-bootchart\fR +will invoke +\fB/usr/lib/systemd/systemd\fR\&. Data will be collected on kernel init threads and also processes including the services started by systemd\&. +.RE +.PP +\fIsystemd unit\fR +.RS 4 +A unit file is provided, +\fBsystemd\-bootchart\&.service\fR\&. If enabled when the system starts it will collect data on processes including the services started by systemd\&. +.RE +.PP +\fIStarted as a standalone program\fR +.RS 4 +One can execute +\fBsystemd\-bootchart\fR +as normal application from the command line\&. In this mode it is highly recommended to pass the +\fB\-r\fR +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\&. +.RE +.SH "OPTIONS" +.PP +These options can also be set in the +/etc/systemd/bootchart\&.conf +file\&. See +\fBbootchart.conf\fR(5)\&. +.PP +\fB\-h\fR, \fB\-\-help\fR +.RS 4 +Print a short help text and exit\&. +.RE +.PP +\fB\-n\fR, \fB\-\-sample \fR\fB\fIN\fR\fR +.RS 4 +Specify the number of samples, +\fIN\fR, to record\&. Samples will be recorded at intervals defined with +\fB\-\-freq\fR\&. +.RE +.PP +\fB\-f\fR, \fB\-\-freq \fR\fB\fIf\fR\fR +.RS 4 +Specify the sample log frequency, a positive real +\fIf\fR, in Hz\&. Most systems can cope with values up to 25\-50 without creating too much overhead\&. +.RE +.PP +\fB\-r\fR, \fB\-\-rel\fR +.RS 4 +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\&. +.RE +.PP +\fB\-F\fR, \fB\-\-no\-filter\fR +.RS 4 +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\&. +.RE +.PP +\fB\-C\fR, \fB\-\-cmdline\fR +.RS 4 +Display the full command line with arguments of processes, instead of only the process name\&. +.RE +.PP +\fB\-g\fR, \fB\-\-control\-group\fR +.RS 4 +Display process control group +.RE +.PP +\fB\-o\fR, \fB\-\-output \fR\fB\fIpath\fR\fR +.RS 4 +Specify the output directory for the graphs\&. By default, bootchart writes the graphs to +/run/log\&. +.RE +.PP +\fB\-i\fR, \fB\-\-init \fR\fB\fIpath\fR\fR +.RS 4 +Use this init binary\&. Defaults to +\fB/usr/lib/systemd/systemd\fR\&. +.RE +.PP +\fB\-p\fR, \fB\-\-pss\fR +.RS 4 +Enable logging and graphing of processes\*(Aq PSS (Proportional Set Size) memory consumption\&. See +filesystems/proc\&.txt +in the kernel documentation for an explanation of this field\&. +.RE +.PP +\fB\-e\fR, \fB\-\-entropy\fR +.RS 4 +Enable logging and graphing of the kernel random entropy pool size\&. +.RE +.PP +\fB\-x\fR, \fB\-\-scale\-x \fR\fB\fIN\fR\fR +.RS 4 +Horizontal scaling factor for all variable graph components\&. +.RE +.PP +\fB\-y\fR, \fB\-\-scale\-y \fR\fB\fIN\fR\fR +.RS 4 +Vertical scaling factor for all variable graph components\&. +.RE +.SH "OUTPUT" +.PP +\fBsystemd\-bootchart\fR +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 +\m[blue]\fB\%file:///run/log/\fR\m[]! +.SH "HISTORY" +.PP +This version of bootchart was implemented from scratch, but is inspired by former bootchart incantations: +.PP +\fIOriginal bash\fR +.RS 4 +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\&. +.RE +.PP +\fIUbuntu C Implementation\fR +.RS 4 +This version replaced the shell version with a fast and efficient data logger, but also did not graph the data\&. +.RE +.PP +\fIJava bootchart\fR +.RS 4 +This was the original graphing application for charting the data, written in java\&. +.RE +.PP +\fIpybootchartgui\&.py\fR +.RS 4 +pybootchart created a graph from the data collected by either the bash or C version\&. +.RE +.PP +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\&. +.SH "SEE ALSO" +.PP +\fBbootchart.conf\fR(5) +.SH "BUGS" +.PP +systemd\-bootchart does not get the model information for the hard drive unless the root device is specified with +root=/dev/sdxY\&. Using UUIDs or PARTUUIDs will boot fine, but the hard drive model will not be added to the chart\&. +.PP +For bugs, please contact the author and current maintainer: +.RS 4 +Auke Kok <auke\-jan\&.h\&.kok@intel\&.com> +.RE |