SystemdDoctor
IOWeight= [Service]

IOWeight= и ограничение дискового ввода-вывода

Задаёт относительный вес службы при конкуренции за диск. Жёсткие пределы скорости задаются отдельными параметрами для конкретных устройств.

Что делает

Вес работает как приоритет: при конкуренции служба с меньшим весом уступает. Пока диск свободен, ограничений нет. Для фоновых задач это лучше, чем жёсткий предел: они работают быстро, когда никому не мешают.

Жёсткие пределы (IOReadBandwidthMax=, IOWriteBandwidthMax=) задаются для устройства и ограничивают скорость всегда. Их применяют, когда нужно гарантированно оставить полосу другим.

Где ставится. В секции [Service]. Требует второй версии иерархии контрольных групп.

Значения

ЗначениеЧто происходит
IOWeight=100вес по умолчанию; диапазон от 1 до 10000.
IOWeight=20фоновая задача уступает остальным.
IOReadBandwidthMax=/dev/sda 50Mжёсткий предел скорости чтения с устройства.
IODeviceLatencyTargetSec=/dev/sda 50msцелевая задержка для устройства.

Пример

Резервное копирование, которое не мешает работе.

[Service]
IOWeight=20
IOSchedulingClass=idle
Nice=15
CPUWeight=20

Четыре параметра работают вместе: два про диск, два про процессор. Для ночных задач это разумный набор.

Типичные ошибки

На первой версии иерархии контрольных групп вес не действует.

Жёсткий предел скорости замедляет задачу всегда, даже когда диск свободен.

Учёт ввода-вывода нужно включить, иначе счётчики будут пустыми.

Связанные ошибки

Рядом стоящие параметры

Источники

  • systemd.resource-control(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026