SystemdDoctor
RandomizedDelaySec= [Timer]

RandomizedDelaySec= и AccuracySec= в таймерах

RandomizedDelaySec= добавляет к времени срабатывания случайную задержку в заданных пределах. AccuracySec= разрешает systemd сдвигать срабатывание для группировки пробуждений.

Что делает

Разброс нужен, когда одинаковая задача стоит на многих машинах: без него все они обращаются к серверу обновлений или к хранилищу резервных копий в одну и ту же секунду. Именно поэтому дистрибутивные таймеры обновлений всегда используют этот параметр.

Точность работает иначе: systemd объединяет близкие пробуждения, чтобы реже будить процессор. Значение по умолчанию — минута; для задач, которым важна точность до секунды, его нужно уменьшать явно.

Где ставится. В секции [Timer].

Значения

ЗначениеЧто происходит
RandomizedDelaySec=30minслучайная задержка до получаса.
AccuracySec=1usмаксимальная точность; чаще будит процессор.
AccuracySec=1hширокое окно: systemd выберет удобный момент.
FixedRandomDelay=trueзадержка постоянна для машины: полезно для предсказуемости.

По умолчанию: разброс 0, точность 1min

Пример

Обновление на парке машин без одновременного наплыва.

[Timer]
OnCalendar=daily
RandomizedDelaySec=2h
FixedRandomDelay=true
Persistent=true

С постоянной задержкой каждая машина каждый день обращается в своё время — это удобнее для разбора, чем полностью случайный момент.

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

Без разброса одинаковые таймеры на многих машинах создают пик нагрузки.

Точность по умолчанию в минуту неожиданна для задач, которым нужна точность до секунды.

Разброс складывается с расписанием: фактическое время может выйти за ожидаемое окно.

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

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

Где важен на практике

Источники

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