systemd-bootchart(1)


NAME

   systemd-bootchart - Boot performance graphing tool

DESCRIPTION

   systemd-bootchart 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 init=/lib/systemd/systemd-bootchart 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.

   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 systemd-analyze plot function.

   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
   --rel switch in this case.

   Bootchart does not require root privileges, and will happily run as a
   normal user.

   Bootchart graphs are by default written time-stamped in /run/log and
   saved to the journal with MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518.
   Journal field BOOTCHART= contains the bootchart in SVG format.

INVOCATION

   systemd-bootchart can be invoked in several different ways:

   Kernel invocation
       The kernel can invoke systemd-bootchart instead of the init
       process. In turn, systemd-bootchart will invoke
       /lib/systemd/systemd.

   Started as a standalone program
       One can execute systemd-bootchart as normal application from the
       command line. 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. The time elapsed since boot might also include any time
       that the system was suspended.

OPTIONS

   These options can also be set in the /etc/systemd/bootchart.conf file.
   See bootchart.conf(5).

   -h, --help
       Print a short help text and exit.

   -n, --sample N
       Specify the number of samples, N, to record. Samples will be
       recorded at intervals defined with --freq.

   -f, --freq f
       Specify the sample log frequency, a positive real f, in Hz. Most
       systems can cope with values up to 25-50 without creating too much
       overhead.

   -r, --rel
       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.

   -F, --no-filter
       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.

   -C, --cmdline
       Display the full command line with arguments of processes, instead
       of only the process name.

   -g, --control-group
       Display process control group

   -o, --output path
       Specify the output directory for the graphs. By default, bootchart
       writes the graphs to /run/log.

   -i, --init path
       Use this init binary. Defaults to /lib/systemd/systemd.

   -p, --pss
       Enable logging and graphing of processes' PSS (Proportional Set
       Size) memory consumption. See filesystems/proc.txt in the kernel
       documentation for an explanation of this field.

   -e, --entropy
       Enable logging and graphing of the kernel random entropy pool size.

   -x, --scale-x N
       Horizontal scaling factor for all variable graph components.

   -y, --scale-y N
       Vertical scaling factor for all variable graph components.

OUTPUT

   systemd-bootchart 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
   file:///run/log/!

HISTORY

   This version of bootchart was implemented from scratch, but is inspired
   by former bootchart incantations:

   Original bash
       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.

   Ubuntu C Implementation
       This version replaced the shell version with a fast and efficient
       data logger, but also did not graph the data.

   Java bootchart
       This was the original graphing application for charting the data,
       written in java.

   pybootchartgui.py
       pybootchart created a graph from the data collected by either the
       bash or C version.

   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.

SEE ALSO

   bootchart.conf(5)

BUGS

   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.

   For bugs, please contact the author and current maintainer:
       Auke Kok <auke-jan.h.kok@intel.com>





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.