]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/iocost.conf.xml
Merge pull request #32677 from keszybz/wording-fixes
[thirdparty/systemd.git] / man / iocost.conf.xml
1 <?xml version='1.0'?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
4 <!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
5
6 <refentry id="iocost.conf" xmlns:xi="http://www.w3.org/2001/XInclude">
7 <refentryinfo>
8 <title>iocost.conf</title>
9 <productname>systemd</productname>
10 </refentryinfo>
11
12 <refmeta>
13 <refentrytitle>iocost.conf</refentrytitle>
14 <manvolnum>5</manvolnum>
15 </refmeta>
16
17 <refnamediv>
18 <refname>iocost.conf</refname>
19 <refpurpose>Configuration files for the iocost solution manager</refpurpose>
20 </refnamediv>
21
22 <refsynopsisdiv>
23 <para>
24 <filename>/etc/systemd/iocost.conf</filename>
25 <filename>/etc/systemd/iocost.conf.d/*.conf</filename>
26 </para>
27 </refsynopsisdiv>
28
29 <refsect1>
30 <title>Description</title>
31
32 <para>This file configures the behavior of <literal>iocost</literal>, a tool mostly used by
33 <citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry> rules
34 to automatically apply I/O cost solutions to <filename>/sys/fs/cgroup/io.cost.*</filename>.</para>
35
36 <para>The qos and model values are calculated based on benchmarks collected on the
37 <ulink url="https://github.com/iocost-benchmark/iocost-benchmarks">iocost-benchmark</ulink>
38 project and turned into a set of solutions that go from most to least isolated.
39 Isolation allows the system to remain responsive in face of high I/O load.
40 Which solutions are available for a device can be queried from the udev metadata attached to it. By
41 default the naive solution is used, which provides the most bandwidth.</para>
42 </refsect1>
43
44 <xi:include href="standard-conf.xml" xpointer="main-conf" />
45
46 <refsect1>
47 <title>Options</title>
48
49 <para>All options are configured in the [IOCost] section:</para>
50
51 <variablelist class='config-directives'>
52
53 <varlistentry>
54 <term><varname>TargetSolution=</varname></term>
55
56 <listitem><para>Chooses which I/O cost solution (identified by named string) should be used
57 for the devices in this system. The known solutions can be queried from the udev metadata
58 attached to the devices. If a device does not have the specified solution, the first one
59 listed in <varname>IOCOST_SOLUTIONS</varname> is used instead.</para>
60
61 <para>E.g. <literal>TargetSolution=isolated-bandwidth</literal>.</para>
62
63 <xi:include href="version-info.xml" xpointer="v254"/></listitem>
64 </varlistentry>
65 </variablelist>
66 </refsect1>
67
68 <refsect1>
69 <title>See Also</title>
70 <para><simplelist type="inline">
71 <member><citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
72 <member><ulink url="https://github.com/iocost-benchmark/iocost-benchmarks">The
73 iocost-benchmarks github project</ulink></member>
74 <member><ulink url="https://github.com/facebookexperimental/resctl-demo/tree/main/resctl-bench/doc">The resctl-bench
75 documentation details how the values are obtained</ulink></member>
76 </simplelist></para>
77 </refsect1>
78
79 </refentry>