BOOTCHART.CONF(5)
π BOOTCHART.CONF(5) π
okay bestie, gather round, because today we're talking about bootchart.conf and bootchart.conf.d β the configuration files for the Boot performance analysis graphing tool πβ¨ yes, that's literally the whole vibe. it's giving "your boot process, but make it a graph."
β¨ SYNOPSIS β¨
/etc/systemd/bootchart.conf
/etc/systemd/bootchart.conf.d/*.conf
/run/systemd/bootchart.conf.d/*.conf
/usr/lib/systemd/bootchart.conf.d/*.conf
πΈ DESCRIPTION πΈ
so when systemd-bootchart starts up, it reads the config file /etc/systemd/bootchart.conf, and then it reads the files in the bootchart.conf.d directories. these config files are the ones deciding your logging parameters and your graph output. no cap, that's their entire job π
π CONFIGURATION DIRECTORIES AND PRECEDENCE π
the default configuration gets defined during compilation, so you only need a config file when you wanna deviate from those defaults. by default, the config file in /etc/systemd/ contains commented out entries showing the defaults, as a little guide for the administrator π«Ά. you can edit that file to create local overrides.
when packages need to customize the configuration, they can install configuration snippets in /usr/lib/systemd/*.conf.d/. files in /etc/ are reserved for the local administrator, who may use this logic to override the config files installed by vendor packages. so here's the tea:
- the main configuration file is read before any of the configuration directories, and it has the lowest precedence.
- entries in a file in any configuration directory override entries in that single main configuration file.
- files in the
*.conf.d/configuration subdirectories are sorted by their filename in lexicographic order, regardless of which of the subdirectories they reside in. - if multiple files specify the same option, the entry in the file with the lexicographically latest name takes precedence.
it is recommended to prefix all filenames in those subdirectories with a two-digit number and a dash, to simplify the ordering of the files. like 10-my-thing.conf, you know? iconic behavior π₯
to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor configuration file. poof, gone π
β OPTIONS β
Samples=500β configure the amount of samples to record in total before bootchart exits. each sample will record at intervals defined byFrequency=. so like, how many lil snapshots do we take before we dip πΈFrequency=25β configure the sample log frequency. this can be a fractional number, but it must be larger than0.0. most systems can cope with values under 25-50 without impacting boot time severely. don't go wild, bestie.Relative=noβ configures whether the left axis of the output graph equalstime=0.0(CLOCK_MONOTONICstart). 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 toyes, the horizontal axis starts at the first recorded sample instead oftime=0.0.Filter=noβ configures whether the resulting graph should omit 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 than0.001sec) will not be displayed in the output graph. bye girl, you didn't do enough πOutput=[path]β configures the output directory for writing the graphs. by default, bootchart writes the graphs to/run/log.Init=[path]β configures bootchart to run a non-standard binary instead of/usr/lib/systemd/systemd. this option is only relevant if bootchart was invoked from the kernel command line withinit=/usr/lib/systemd/systemd-bootchart.PlotMemoryUsage=noβ if set toyes, enables logging and graphing of processes' PSS memory consumption. memory tea βPlotEntropyGraph=noβ if set toyes, enables logging and graphing of the kernel random entropy pool size. chaos, but measured πScaleX=100β horizontal scaling factor for all variable graph components.ScaleY=20β vertical scaling factor for all variable graph components.ControlGroup=noβ display process control group.Cmdline=noβ display the full command line of each process.
π¦ SEE ALSO π¦
and that's the whole page, bestie!! π this lil manual came from systemd 235, and yeah, it's BOOTCHART.CONF(5) fr fr β go graph that boot, you absolute main character πβ¨
π¦ where this page comes from
- arch rolling: systemd-bootchart 235-3 Β· GPL-2.0-only AND LGPL-2.1-only
- debian trixie: systemd-bootchart 235-2 Β· LGPL-2.1-or-later
- fedora 43: systemd-bootchart 235-3.fc43 Β· GPL-2.0-or-later AND LicenseRef-Callaway-LGPLv2+
- fedora 44: systemd-bootchart 235-4.fc44 Β· GPL-2.0-or-later AND LicenseRef-Callaway-LGPLv2+
- nixos 26.05: systemd-bootchart 235
- nixpkgs unstable: systemd-bootchart 235
- ubuntu noble: systemd-bootchart 235-2 Β· LGPL-2.1-or-later
- ubuntu questing: systemd-bootchart 235-2
- ubuntu resolute: systemd-bootchart 235-2build1 Β· LGPL-2.1-or-later
- ubuntu stonking: systemd-bootchart 235-2build1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms