2012-10-18 07:01:12 +08:00
|
|
|
<?xml version='1.0'?> <!--*-nxml-*-->
|
|
|
|
<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
|
|
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
|
|
|
|
|
|
<!--
|
|
|
|
This file is part of systemd.
|
|
|
|
|
|
|
|
Copyright 2012 Intel Corporation
|
|
|
|
|
|
|
|
Authors:
|
|
|
|
Auke Kok <auke-jan.h.kok@intel.com>
|
2013-02-13 17:38:49 +08:00
|
|
|
William Giokas <1007380@gmail.com>
|
2012-10-18 07:01:12 +08:00
|
|
|
|
|
|
|
systemd is free software; you can redistribute it and/or modify it
|
|
|
|
under the terms of the GNU Lesser General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2.1 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
systemd is distributed in the hope that it will be useful, but
|
|
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Lesser General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Lesser General Public License
|
|
|
|
along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
-->
|
|
|
|
|
2013-02-03 11:47:47 +08:00
|
|
|
<refentry id="systemd-bootchart" conditional='ENABLE_BOOTCHART'>
|
2012-10-18 07:01:12 +08:00
|
|
|
<refentryinfo>
|
|
|
|
<title>systemd-bootchart</title>
|
|
|
|
<productname>systemd</productname>
|
|
|
|
|
|
|
|
<authorgroup>
|
|
|
|
<author>
|
|
|
|
<contrib>Developer</contrib>
|
|
|
|
<firstname>Auke</firstname>
|
|
|
|
<surname>Kok</surname>
|
|
|
|
<email>auke-jan.h.kok@intel.com</email>
|
|
|
|
</author>
|
|
|
|
</authorgroup>
|
|
|
|
</refentryinfo>
|
|
|
|
|
|
|
|
<refmeta>
|
|
|
|
<refentrytitle>systemd-bootchart</refentrytitle>
|
|
|
|
<manvolnum>1</manvolnum>
|
|
|
|
</refmeta>
|
|
|
|
|
|
|
|
<refnamediv>
|
|
|
|
<refname>systemd-bootchart</refname>
|
|
|
|
<refpurpose>Boot performance analysis graphing tool</refpurpose>
|
|
|
|
</refnamediv>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>Description</title>
|
|
|
|
|
|
|
|
<para>Systemd-bootchart is an boot time analysis tool. It represents
|
|
|
|
various aspects of the system as graph elements. These graph
|
|
|
|
elements allow the user to determine resource usage, efficiency
|
|
|
|
and performance issues.</para>
|
|
|
|
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>Invocation</title>
|
|
|
|
|
|
|
|
<para>systemd-bootchart can be invoked in several different ways:</para>
|
|
|
|
|
2013-01-26 23:47:16 +08:00
|
|
|
<variablelist>
|
2012-10-18 07:01:12 +08:00
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<title>Kernel invocation</title>
|
|
|
|
<listitem><para>The kernel can invoke systemd-bootchart
|
|
|
|
instead of the init process. In itself, systemd-bootchart
|
|
|
|
will invoke <filename>/sbin/init</filename> if invoked in
|
|
|
|
this matter.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<title>Started as a standalone program</title>
|
|
|
|
<listitem><para>One can execute systemd-bootchart as
|
|
|
|
normal application from the commandline. In this mode
|
|
|
|
it is highly recommended to pass the "-r" 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.
|
|
|
|
</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>Options</title>
|
|
|
|
|
2013-02-13 17:38:49 +08:00
|
|
|
<variablelist class='bootchart-directives'>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-n</option></term>
|
|
|
|
<term><option>--sample N</option></term>
|
|
|
|
<listitem><para>Specify the amount of samples to
|
|
|
|
record total before bootchart exits. Each sample will
|
|
|
|
record at intervals defined by --freq.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-f</option></term>
|
|
|
|
<term><option>--freq N</option></term>
|
|
|
|
<listitem><para>Specify the sample log frequency.
|
|
|
|
This can be a fractional number, but must be larger than
|
|
|
|
0.0. Most systems can cope with values under 25-50 without
|
|
|
|
impacting boot time severely.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-r</option></term>
|
|
|
|
<term><option>--rel</option></term>
|
|
|
|
<listitem><para>Use relative times instead of absolute
|
|
|
|
times. This is useful for using bootchart at post-boot
|
|
|
|
time to profile an already booted system, otherwise the
|
|
|
|
graph would become extremely large. If set, the
|
|
|
|
horizontal axis starts at the first recorded sample
|
|
|
|
instead of time=0.0.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-F</option></term>
|
|
|
|
<term><option>--filter</option></term>
|
|
|
|
<listitem><para>Disable filtering of tasks 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.001sec) will not be displayed in the output graph.
|
|
|
|
</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-o</option></term>
|
|
|
|
<term><option>--output [path]</option></term>
|
|
|
|
<listitem><para>Configures the output folder for writing
|
|
|
|
the graphs. By default, bootchart writes the graphs to
|
|
|
|
<filename>/var/log</filename>.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-i</option></term>
|
|
|
|
<term><option>--init [path]</option></term>
|
|
|
|
<listitem><para>Set init binary to run. Defaults to
|
|
|
|
<filename>/sbin/init</filename>.
|
|
|
|
</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-p</option></term>
|
|
|
|
<term><option>--pss</option></term>
|
|
|
|
<listitem><para>Enable logging and graphing
|
|
|
|
of processes PSS memory consumption.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-e</option></term>
|
|
|
|
<term><option>--entropy</option></term>
|
|
|
|
<listitem><para>Enable logging and graphing
|
|
|
|
of the kernel random entropy pool size.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-x</option></term>
|
|
|
|
<term><option>--scale-x N</option></term>
|
|
|
|
<listitem><para>Horizontal scaling factor for all variable
|
|
|
|
graph components.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
<varlistentry>
|
|
|
|
<term><option>-y</option></term>
|
|
|
|
<term><option>--scale-y N</option></term>
|
|
|
|
<listitem><para>Vertical scaling factor for all variable
|
|
|
|
graph components.</para></listitem>
|
|
|
|
</varlistentry>
|
|
|
|
|
|
|
|
</variablelist>
|
|
|
|
|
|
|
|
|
2012-10-18 07:01:12 +08:00
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>Output</title>
|
|
|
|
|
|
|
|
<para>Systemd-bootchart generates SVG graphs. In order to render these
|
2013-01-10 04:25:02 +08:00
|
|
|
on a graphical display any SVG capable viewer can be used. It should be
|
2012-10-18 07:01:12 +08:00
|
|
|
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 "file:///var/log"!
|
|
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
<refsect1>
|
|
|
|
<title>See Also</title>
|
|
|
|
<para>
|
|
|
|
<citerefentry><refentrytitle>bootchart.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
|
|
</para>
|
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
</refentry>
|