讲师中心 微信公众号
AI工具推荐 视频效率加速

systemd timer 延迟几分钟甚至几小时的 OnCalendar 精度优化

风敏姑娘_4446

风敏姑娘_4446

发布时间:2026-01-28 19:30:01

|

1032人浏览过

|

来源于php中文网

原创

systemd timer 的 OnCalendar 默认精度为1分钟,实际触发时间可能偏差达60秒;需通过AccuracySec参数调低至秒级或毫秒级以提升精度,但会增加CPU唤醒频率。

systemd timer 延迟几分钟甚至几小时的 oncalendar 精度优化

systemd timer 的 OnCalendar 默认精度是 1 分钟

systemd 在默认配置下会对 OnCalendar 触发时间做“对齐”处理,把所有计划在同分钟内的事件批量调度,最大允许误差达 60 秒。这不是 bug,而是设计选择:降低唤醒频率、减少系统抖动。但如果你写的是 OnCalendar=*-*-* *:*:30(每分钟第 30 秒触发),实际可能在 xx:xx:30–xx:xx:59 任意时刻运行——这对监控轮询、定时快照等场景已属不可接受。

修改 AccuracySec 可提升到毫秒级(但需谨慎)

AccuracySec 是 timer unit 中控制精度的核心参数,默认值为 1min。把它设为 1s 或 100ms 确实能缩小偏差,但要注意:

  • 值越小,systemd 越频繁地唤醒并检查时钟,尤其在低功耗设备或虚拟机中会增加 CPU 唤醒次数
  • 低于 1s 时,systemd 不再保证严格准时(底层依赖 clock_gettime(CLOCK_MONOTONIC) 和内核定时器精度),实测 AccuracySec=100ms 在多数桌面环境可稳定控制在 ±200ms 内
  • 必须写在 timer unit 文件的 [Timer] 小节里,且不能和 RandomizedDelaySec 同时启用(后者会覆盖前者效果)

示例:

科学计算器在线使用工具代码
科学计算器在线使用工具代码

html5 css3制作在线科学计算器ui布局,3D计算器面板,加减乘除数字计算器工具特效。

下载
[Timer]
OnCalendar=*-*-* *:*:00
AccuracySec=1s
Persistent=true

OnCalendar 时间表达式本身不决定精度,只定义匹配规则

很多人误以为写 OnCalendar=*-*-* *:*:00.500(带毫秒)就能触发半秒级任务,但 systemd 解析器根本不支持小数秒语法,该行会被静默忽略或报错 Invalid argument。真正起作用的是:

  • OnCalendar 仅用于生成下一个匹配时间点(按日历逻辑计算)
  • 最终是否在这个时间点执行,完全由 AccuracySec + 当前系统负载 + 定时器队列状态共同决定
  • 如果需要亚秒级重复调度(如每 500ms 采样一次),OnCalendar 不适用,应改用 OnUnitActiveSec 或外部工具(如 sleep 循环 + systemd-run --scope)

RealtimeClock=yes 并不能解决精度问题

有些文档建议启用 RealtimeClock=yes 来“使用硬件时钟”,但它只影响 timer 启动时的初始对齐行为(比如开机后第一次触发是否等待到整点),和后续每次触发的精度无关。它甚至可能引入 NTP 调整导致的跳变——例如 NTP 向后校正 1 秒,timer 可能直接跳过一次触发。除非你明确需要跨系统重启保持日历语义对齐(比如每日凌晨 2 点备份),否则不必开启。

真正影响长期稳定性的反而是 Persistent=true:它让 timer 在错过触发时间后(如机器休眠)补跑一次,但这会进一步放大延迟感知——你以为延迟了 2 小时,其实是 timer 在唤醒后立刻“补偿执行”,而非准时执行。

热门AI工具

更多
音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

4130

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

3493

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2713

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

6610

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

6262

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3633

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

3125

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

3359

2023.07.25

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
XAMPP手册
XAMPP手册

共0课时 | 0人学习

c语言项目php解释器源码分析探索
c语言项目php解释器源码分析探索

共7课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn