三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

chrony.conf 参数解析

chrony.conf 参数解析

摘要

Chrony 是 Linux 系统中用于实现高精度时间同步的守护进程,它通过网络时间协议(NTP)和精确时间协议(PTP)将系统时钟与参考时间源同步。不可避免需要配置chrony,本文主要介绍chrony.conf。


Chrony 中用于高精度时间同步的关键设置分别通过 PPS(秒脉冲) 和 SHM(共享内存) 接口获取时间基准。以下是对 /etc/chrony/chrony.conf每个参数的详细解析:

1. PPS 参考时钟配置

refclock PPS /dev/pps1 refid PPS lock GPSD prefer precision 1e-7 poll 2
参数说明
refclock PPS声明使用PPS(秒脉冲信号)作为参考时钟源
/dev/pps1PPS 设备的路径(通常由 GPS 模块或专用 PPS 设备生成)
refid PPS自定义此源的标识符(在监控命令chronyc sources中显示为PPS
lock GPSD关键依赖:强制 chrony 等待gpsd服务就绪后才启用此源(避免无效信号)
prefer标记为首选源(当多个源可用时,优先使用此源)
precision 1e-7声明信号精度为0.1 微秒(100 ns),帮助 chrony 优化算法权重
poll 2轮询间隔设为4 秒(实际值 =2^2),但对 PPS 信号本身无影响(硬件触发)

PPS 核心作用:提供绝对精确的秒边界对齐(误差通常 < 100 ns),校正时钟的累积漂移。

poll 2轮询间隔设越小系统负载越大,精度越高,所以结合时间使用场景来确定。

2、SHM 接口配置解析

refclock SHM 0 refid GPSD precision 1e-1 offset 0.9999 delay 0.2 poll 2
参数说明
refclock SHM 0使用共享内存作为参考时钟(0对应 gpsd 的共享内存段/dev/shm/gpsd.sock
refid GPSD自定义标识符(在监控命令中显示为GPSD
precision 1e-1声明时间精度为0.1 秒(100 ms),反映 NMEA 数据的理论精度
offset 0.9999关键校准:补偿 GPS 串口传输延迟(单位:秒),需实测调整!
delay 0.2固定网络延迟补偿(秒),用于修正处理过程的固有延迟
poll 2轮询间隔设为4 秒2^2

SHM 核心作用:通过 gpsd 获取完整时间戳(年月日时分秒),但精度较低(受串口延迟影响)。

3. 其他参数配置:

# 强制快速时间同步(当偏移量 > 0.1 秒时立即步进调整) makestep 0.1 -1 # 记录时钟漂移率 driftfile /var/lib/chrony/drift # 定期同步系统时间到硬件时钟(RTC) rtcsync # 允许所有客户端访问此NTP服务器 allow all # 阿里云 ntp,国内延迟低 server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst pool cn.pool.ntp.org iburst # 关键指令:将本机设置为第10层时间源(独立时间服务器) local stratum 10
  1. local stratum 10的作用

    • 将本机声明为独立时间源(Stratum 10)

    • 不依赖外部NTP服务器(如pool.ntp.org

    • 适用于:

      • 隔离网络环境(无互联网连接)

      • 硬件时钟作为基准源(需定期校准)

      • 高精度本地时间源(配合GPS/PPS等设备)

← 返回列表