Skip to content

Commit 0069a0d

Browse files
committed
man: clarify that IOXyz= only applies to the unified hierarchy, and BlockIOXyz= to the legacy hierarchy
With this change for each setting we say which hierarachy it applies to briefly in the first sentence of the description, plus in longer form in an extra pargraph at the end, with a recommendation for the counterpart of the option in the other hierarchy. Also adds markup and the "=" suffix to all mentioned settings.
1 parent 25b0e6c commit 0069a0d

File tree

1 file changed

+84
-98
lines changed

1 file changed

+84
-98
lines changed

man/systemd.resource-control.xml

Lines changed: 84 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -252,14 +252,15 @@
252252
<term><varname>IOAccounting=</varname></term>
253253

254254
<listitem>
255-
<para>Turn on Block I/O accounting for this unit on unified
256-
hierarchy. Takes a boolean argument. Note that turning on
257-
block I/O accounting for one unit will also implicitly turn
258-
it on for all units contained in the same slice and all for
259-
its parent slices and the units contained therein. The
260-
system default for this setting may be controlled with
261-
<varname>DefaultIOAccounting=</varname> in
255+
<para>Turn on Block I/O accounting for this unit, if the unified control group hierarchy is used on the
256+
system. Takes a boolean argument. Note that turning on block I/O accounting for one unit will also implicitly
257+
turn it on for all units contained in the same slice and all for its parent slices and the units contained
258+
therein. The system default for this setting may be controlled with <varname>DefaultIOAccounting=</varname>
259+
in
262260
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
261+
262+
<para>This setting is supported only if the unified control group hierarchy is used. Use
263+
<varname>BlockIOAccounting=</varname> on systems using the legacy control group hierarchy.</para>
263264
</listitem>
264265
</varlistentry>
265266

@@ -268,15 +269,12 @@
268269
<term><varname>StartupIOWeight=<replaceable>weight</replaceable></varname></term>
269270

270271
<listitem>
271-
<para>Set the default overall block I/O weight for the
272-
executed processes on unified hierarchy. Takes a single
273-
weight value (between 1 and 10000) to set the default block
274-
I/O weight. This controls the <literal>io.weight</literal>
275-
control group attribute, which defaults to 100. For details
276-
about this control group attribute, see <ulink
277-
url="https://www.kernel.org/doc/Documentation/cgroup-v2.txt">cgroup-v2.txt</ulink>.
278-
The available I/O bandwidth is split up among all units
279-
within one slice relative to their block I/O weight.</para>
272+
<para>Set the default overall block I/O weight for the executed processes, if the unified control group
273+
hierarchy is used on the system. Takes a single weight value (between 1 and 10000) to set the default block
274+
I/O weight. This controls the <literal>io.weight</literal> control group attribute, which defaults to
275+
100. For details about this control group attribute, see <ulink
276+
url="https://www.kernel.org/doc/Documentation/cgroup-v2.txt">cgroup-v2.txt</ulink>. The available I/O
277+
bandwidth is split up among all units within one slice relative to their block I/O weight.</para>
280278

281279
<para>While <varname>StartupIOWeight=</varname> only applies
282280
to the startup phase of the system,
@@ -286,28 +284,30 @@
286284
differently than during runtime.</para>
287285

288286
<para>Implies <literal>IOAccounting=true</literal>.</para>
287+
288+
<para>This setting is supported only if the unified control group hierarchy is used. Use
289+
<varname>BlockIOWeight=</varname> and <varname>StartupBlockIOWeight=</varname> on systems using the legacy
290+
control group hierarchy.</para>
289291
</listitem>
290292
</varlistentry>
291293

292294
<varlistentry>
293295
<term><varname>IODeviceWeight=<replaceable>device</replaceable> <replaceable>weight</replaceable></varname></term>
294296

295297
<listitem>
296-
<para>Set the per-device overall block I/O weight for the
297-
executed processes on unified hierarchy. Takes a
298-
space-separated pair of a file path and a weight value to
299-
specify the device specific weight value, between 1 and
300-
10000. (Example: "/dev/sda 1000"). The file path may be
301-
specified as path to a block device node or as any other
302-
file, in which case the backing block device of the file
303-
system of the file is determined. This controls the
304-
<literal>io.weight</literal> control group attribute, which
305-
defaults to 100. Use this option multiple times to set
306-
weights for multiple devices. For details about this control
307-
group attribute, see <ulink
298+
<para>Set the per-device overall block I/O weight for the executed processes, if the unified control group
299+
hierarchy is used on the system. Takes a space-separated pair of a file path and a weight value to specify
300+
the device specific weight value, between 1 and 10000. (Example: "/dev/sda 1000"). The file path may be
301+
specified as path to a block device node or as any other file, in which case the backing block device of the
302+
file system of the file is determined. This controls the <literal>io.weight</literal> control group
303+
attribute, which defaults to 100. Use this option multiple times to set weights for multiple devices. For
304+
details about this control group attribute, see <ulink
308305
url="https://www.kernel.org/doc/Documentation/cgroup-v2.txt">cgroup-v2.txt</ulink>.</para>
309306

310307
<para>Implies <literal>IOAccounting=true</literal>.</para>
308+
309+
<para>This setting is supported only if the unified control group hierarchy is used. Use
310+
<varname>BlockIODeviceWeight=</varname> on systems using the legacy control group hierarchy.</para>
311311
</listitem>
312312
</varlistentry>
313313

@@ -316,63 +316,53 @@
316316
<term><varname>IOWriteBandwidthMax=<replaceable>device</replaceable> <replaceable>bytes</replaceable></varname></term>
317317

318318
<listitem>
319-
<para>Set the per-device overall block I/O bandwidth maximum
320-
limit for the executed processes on unified hierarchy. This
321-
limit is not work-conserving and the executed processes are
322-
not allowed to use more even if the device has idle
323-
capacity. Takes a space-separated pair of a file path and a
324-
bandwidth value (in bytes per second) to specify the device
325-
specific bandwidth. The file path may be a path to a block
326-
device node, or as any other file in which case the backing
327-
block device of the file system of the file is used. If the
328-
bandwidth is suffixed with K, M, G, or T, the specified
329-
bandwidth is parsed as Kilobytes, Megabytes, Gigabytes, or
330-
Terabytes, respectively, to the base of 1000. (Example:
331-
"/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 5M"). This
332-
controls the <literal>io.max</literal> control group
333-
attributes. Use this option multiple times to set bandwidth
334-
limits for multiple devices. For details about this control
335-
group attribute, see <ulink
319+
<para>Set the per-device overall block I/O bandwidth maximum limit for the executed processes, if the unified
320+
control group hierarchy is used on the system. This limit is not work-conserving and the executed processes
321+
are not allowed to use more even if the device has idle capacity. Takes a space-separated pair of a file
322+
path and a bandwidth value (in bytes per second) to specify the device specific bandwidth. The file path may
323+
be a path to a block device node, or as any other file in which case the backing block device of the file
324+
system of the file is used. If the bandwidth is suffixed with K, M, G, or T, the specified bandwidth is
325+
parsed as Kilobytes, Megabytes, Gigabytes, or Terabytes, respectively, to the base of 1000. (Example:
326+
"/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 5M"). This controls the <literal>io.max</literal> control
327+
group attributes. Use this option multiple times to set bandwidth limits for multiple devices. For details
328+
about this control group attribute, see <ulink
336329
url="https://www.kernel.org/doc/Documentation/cgroup-v2.txt">cgroup-v2.txt</ulink>.
337330
</para>
338331

339332
<para>Implies <literal>IOAccounting=true</literal>.</para>
333+
334+
<para>This setting is supported only if the unified control group hierarchy is used. Use
335+
<varname>BlockIOAccounting=</varname> on systems using the legacy control group hierarchy.</para>
340336
</listitem>
341337
</varlistentry>
342338

343339
<varlistentry>
344340
<term><varname>BlockIOAccounting=</varname></term>
345341

346342
<listitem>
347-
<para>Use IOAccounting on unified hierarchy.</para>
348-
349-
<para>Turn on Block I/O accounting for this unit. Takes a
350-
boolean argument. Note that turning on block I/O accounting
351-
for one unit will also implicitly turn it on for all units
352-
contained in the same slice and all for its parent slices
353-
and the units contained therein. The system default for this
354-
setting may be controlled with
343+
<para>Turn on Block I/O accounting for this unit, if the legacy control group hierarchy is used on the
344+
system. Takes a boolean argument. Note that turning on block I/O accounting for one unit will also implicitly
345+
turn it on for all units contained in the same slice and all for its parent slices and the units contained
346+
therein. The system default for this setting may be controlled with
355347
<varname>DefaultBlockIOAccounting=</varname> in
356348
<citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
349+
350+
<para>This setting is supported only if the legacy control group hierarchy is used. Use
351+
<varname>IOAccounting=</varname> on systems using the unified control group hierarchy.</para>
357352
</listitem>
358353
</varlistentry>
359354

360355
<varlistentry>
361356
<term><varname>BlockIOWeight=<replaceable>weight</replaceable></varname></term>
362357
<term><varname>StartupBlockIOWeight=<replaceable>weight</replaceable></varname></term>
363358

364-
<listitem><para>Use IOWeight and StartupIOWeight on unified
365-
hierarchy.</para>
366-
367-
<para>Set the default overall block I/O weight for the
368-
executed processes. Takes a single weight value (between 10
369-
and 1000) to set the default block I/O weight. This controls
370-
the <literal>blkio.weight</literal> control group attribute,
371-
which defaults to 500. For details about this control group
372-
attribute, see <ulink
359+
<listitem><para>Set the default overall block I/O weight for the executed processes, if the legacy control
360+
group hierarchy is used on the system. Takes a single weight value (between 10 and 1000) to set the default
361+
block I/O weight. This controls the <literal>blkio.weight</literal> control group attribute, which defaults to
362+
500. For details about this control group attribute, see <ulink
373363
url="https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt">blkio-controller.txt</ulink>.
374-
The available I/O bandwidth is split up among all units within
375-
one slice relative to their block I/O weight.</para>
364+
The available I/O bandwidth is split up among all units within one slice relative to their block I/O
365+
weight.</para>
376366

377367
<para>While <varname>StartupBlockIOWeight=</varname> only
378368
applies to the startup phase of the system,
@@ -383,31 +373,32 @@
383373

384374
<para>Implies
385375
<literal>BlockIOAccounting=true</literal>.</para>
386-
</listitem>
376+
377+
<para>This setting is supported only if the legacy control group hierarchy is used. Use
378+
<varname>IOWeight=</varname> and <varname>StartupIOWeight=</varname> on systems using the unified control group
379+
hierarchy.</para>
380+
381+
</listitem>
387382
</varlistentry>
388383

389384
<varlistentry>
390385
<term><varname>BlockIODeviceWeight=<replaceable>device</replaceable> <replaceable>weight</replaceable></varname></term>
391386

392387
<listitem>
393-
<para>Use IODeviceWeight on unified hierarchy.</para>
394-
395-
<para>Set the per-device overall block I/O weight for the
396-
executed processes. Takes a space-separated pair of a file
397-
path and a weight value to specify the device specific
398-
weight value, between 10 and 1000. (Example: "/dev/sda
399-
500"). The file path may be specified as path to a block
400-
device node or as any other file, in which case the backing
401-
block device of the file system of the file is
402-
determined. This controls the
403-
<literal>blkio.weight_device</literal> control group
404-
attribute, which defaults to 1000. Use this option multiple
405-
times to set weights for multiple devices. For details about
406-
this control group attribute, see <ulink
388+
<para>Set the per-device overall block I/O weight for the executed processes, if the legacy control group
389+
hierarchy is used on the system. Takes a space-separated pair of a file path and a weight value to specify
390+
the device specific weight value, between 10 and 1000. (Example: "/dev/sda 500"). The file path may be
391+
specified as path to a block device node or as any other file, in which case the backing block device of the
392+
file system of the file is determined. This controls the <literal>blkio.weight_device</literal> control group
393+
attribute, which defaults to 1000. Use this option multiple times to set weights for multiple devices. For
394+
details about this control group attribute, see <ulink
407395
url="https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt">blkio-controller.txt</ulink>.</para>
408396

409397
<para>Implies
410398
<literal>BlockIOAccounting=true</literal>.</para>
399+
400+
<para>This setting is supported only if the legacy control group hierarchy is used. Use
401+
<varname>IODeviceWeight=</varname> on systems using the unified control group hierarchy.</para>
411402
</listitem>
412403
</varlistentry>
413404

@@ -416,30 +407,25 @@
416407
<term><varname>BlockIOWriteBandwidth=<replaceable>device</replaceable> <replaceable>bytes</replaceable></varname></term>
417408

418409
<listitem>
419-
<para>Use IOReadBandwidthMax and IOWriteBandwidthMax on
420-
unified hierarchy.</para>
421-
422-
<para>Set the per-device overall block I/O bandwidth limit
423-
for the executed processes. Takes a space-separated pair of
424-
a file path and a bandwidth value (in bytes per second) to
425-
specify the device specific bandwidth. The file path may be
426-
a path to a block device node, or as any other file in which
427-
case the backing block device of the file system of the file
428-
is used. If the bandwidth is suffixed with K, M, G, or T,
429-
the specified bandwidth is parsed as Kilobytes, Megabytes,
430-
Gigabytes, or Terabytes, respectively, to the base of
431-
1000. (Example:
432-
"/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 5M"). This
433-
controls the <literal>blkio.throttle.read_bps_device</literal> and
434-
<literal>blkio.throttle.write_bps_device</literal> control group
435-
attributes. Use this option multiple times to set bandwidth
436-
limits for multiple devices. For details about these control
437-
group attributes, see <ulink
410+
<para>Set the per-device overall block I/O bandwidth limit for the executed processes, if the legacy control
411+
group hierarchy is used on the system. Takes a space-separated pair of a file path and a bandwidth value (in
412+
bytes per second) to specify the device specific bandwidth. The file path may be a path to a block device
413+
node, or as any other file in which case the backing block device of the file system of the file is used. If
414+
the bandwidth is suffixed with K, M, G, or T, the specified bandwidth is parsed as Kilobytes, Megabytes,
415+
Gigabytes, or Terabytes, respectively, to the base of 1000. (Example:
416+
"/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 5M"). This controls the
417+
<literal>blkio.throttle.read_bps_device</literal> and <literal>blkio.throttle.write_bps_device</literal>
418+
control group attributes. Use this option multiple times to set bandwidth limits for multiple devices. For
419+
details about these control group attributes, see <ulink
438420
url="https://www.kernel.org/doc/Documentation/cgroup-v1/blkio-controller.txt">blkio-controller.txt</ulink>.
439421
</para>
440422

441423
<para>Implies
442424
<literal>BlockIOAccounting=true</literal>.</para>
425+
426+
<para>This setting is supported only if the legacy control group hierarchy is used. Use
427+
<varname>IOReadBandwidthMax=</varname> and <varname>IOWriteBandwidthMax=</varname> on systems using the
428+
unified control group hierarchy.</para>
443429
</listitem>
444430
</varlistentry>
445431

0 commit comments

Comments
 (0)