ntp的中级知识

摘要:
如果超过阈值,则ntpd将退出并发送消息到系统日志。当偏移量超过1000s的时候ntp自动退出,这是由时钟纪律算法决定的,超过1000s的时候它会崩溃退出。这种行为模仿ntpdate程序的行为,该程序将被退休。-x参数是代表的是开启ntp的slew同步模式,即缓慢,有序的微调模式。如果ntp校准不会来的话可以人工进行干预,手动同步,缩小偏移量之后再进行自动同步。关于chrony我的了解不多,只知道chrony是centos7支持的一个据说比ntp更高效的时间同步工具。
  1. ntp启动参数-g什么意思?为什么误差超过1000s ntpd会异常退出?-x参数又是什么意思?
  2. 如何缓慢调整ntp?
  3. 机器本地如何守时? 如果ntp校准不回来怎么办?
  4. adjtimex修改tick值用法举例
  5. chrony和ntp区别?
  6. adjtimex和时钟的几个概念tick,freq,ppm?
  7. Linux上夏时令是什么?夏时令到了我们需要做什么吗?
  8. NTP问题排查常见工具?

1,ntp启动参数-g是什么意思?为什么误差超过1000s ntpd会异常退出? -x参数又是什么意思?

Normally, ntpd exits with a message to the system log if the offset exceeds the panic threshold, which is 1000 s by default. This option allows the time to be set to any value without restriction; however, this can happen only once. If the threshold is exceeded after that, ntpd will exit with a message to the system log. This option can be used with the -q and -x options. See the tinker command for other options.

这是对-g参数的说明:

通常,如果偏移量超过了紧急阈值ntpd会退出并发送消息系统日志,阈值默认情况下为1000秒。 此选项允许将时间设置为任何值而不受限制; 然而,这只会发生一次。 如果超过阈值,则ntpd将退出并发送消息到系统日志。 该选项可以与-q和-x选项一起使用。 有关其他选项,请参阅tinker命令。

当偏移量超过1000s的时候ntp自动退出,这是由时钟纪律算法决定的,超过1000s的时候它会崩溃退出。

-q选项在手册里这么解释的:

Exit the ntpd just after the first time the clock is set. This behavior mimics that of the ntpdate program, which is to be retired. The -g and -x options can be used with this option. Note: The kernel time discipline is disabled with this option.

在第一次设置时钟后退出ntpd。 这种行为模仿ntpdate程序的行为,该程序将被退休。 -g和-x选项可以与此选项一起使用。 注意:使用此选项禁用内核时间规则。

也就是说开启了这个选项等同于使用ntpdate一样同步完就退出。

-x参数是代表的是开启ntp的slew同步模式,即缓慢,有序的微调模式。

2,如何缓慢调整ntp?

缓慢调整ntp就是开启slew模式,即启动ntpd服务之前手动同步一次,然后开启-x选项,最后开启ntpd服务即可。

3,机器本地如何守时? 如果ntp校准不回来怎么办?

本地是随着硬件时钟同步的,硬件时钟是由计算机的电子控制的晶体振荡器觉得的。如果ntp校准不会来的话可以人工进行干预,手动同步,缩小偏移量之后再进行自动同步。

4,adjtimex修改tick值用法举例

http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=system:adjtimex%E7%AE%80%E4%BB%8B

这是turbolinux官网对adjtimex的解释。我决定这个描述比adjtimex手册的描述更能让人理解。

linux系统有两个时钟:一个是由主板电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟。当操作系统关机的时候,用这个来记录时间,但是对于运行的系统是不用这个时间的。另一个时间是 “System clock”也叫内核时钟或者软件时钟,是由软件根据时间中断来进行计数的,内核时钟在系统关机的情况下是不存在的,所以,当操作系统启动的时候,内核时钟是要读取RTC时间来进行时间同步(有些情况下,内核时钟也可以通过ntp服务器来读取时间) 这两个时钟通常会有一些误差,所以长时间可以导致这两个时钟偏离的比较多,最简单的保持两个时间同步的方法是用软件测出他们之间的误差率,然后用软件进行修正。在每次重新启动系统的时候,系统都会用hwclock命令对时间进行同步。如果内核时钟在每一个时间中断都快或者慢的话,可以用adjtimex命令进行调整,使得RTC和内核时间走的快慢一致。 adjtimex 允许用户来调整内核的时间参数,因此可以改变内核时间的速度,可以用hwclock命令来比较出内核时间和RTC时间的偏移率,然后利用adjtimex 命令根据偏移率来对内核时间进行校正,使得内核时间走的快些或者慢些,当经过调整的内核时间跟RTC时间走的同样快的时候,可以把这个命令行写到启动脚本里面,让每次机器启动的时候都可以把内核的时间参数调整正确。

adjtimex 的参数

  • -p, –print 输出内核时间变量的值
  • -t, –tick val 设置内核时钟计数间隔(微秒)
  • -f, –frequency newfreq 设置系统时钟偏移量
  • -c, –compare[=count] 比较系统时钟和CMOS时钟
  • -i, –interval tim 设置时钟比较间隔时间 (sec)
  • -l, –log[=file] 将当前时间记录到文件中
  • –host timeserver 查询时间服务器
  • -u, –utc 将CMOS时钟设置成UTC

有了-c这个参数就好说了。

adjtimex -c 可以比较系统时钟和CMOS时钟

ntp的中级知识第1张

前面的tick/freq字段表示内核的tick和freq值,后面的tick/freq表示系统对tick和freq的推荐值,用这个值可以对系统时间进行校正。针对上面的误差可以不需要校正,若需要修正可使用adjtimex –t或adjtimex –f指令进行修正。

注意,这里系统会连续测试出好几个连续的差别,一般可以参考平均值

于是我这里采用的是平均值

ntp的中级知识第2张

我这儿设置完之后并没有看到什么变化,估计是本地虚拟机的原因吧

5,chrony和ntp的区别?

关于chrony我的了解不多,只知道chrony是centos7支持的一个据说比ntp更高效的时间同步工具。

6,adjtimex和时钟的几个概念tick,freq,ppm?

tick 代表的是内核时钟计数间隔(微秒)

freq系统时钟偏移量

ppm 查阅相关文档解释的是parts-per-million(PPM),即每百万分之1

7,Linux上夏令时是什么?夏令时到了我们需要做什么吗?

下面来一段夏令时的历史背景:

1986年4月,中央有关部门发出“在全国范围内实行夏时制的通知”,具体作法是:每年从四月中旬第一个星期日的凌晨2时整(北京时间),将时钟拨快一小时,即将表针由2时拨至3时,夏令时开始;到九月中旬第一个星期日的凌晨2时整(北京夏令时),再将时钟拨回一小时,即将表针由2时拨至1时,夏令时结束。从1986年到1991年的六个年度,除1986年因是实行夏时制的第一年,从5月4日开始到9月14日结束外,其它年份均按规定的时段施行。在夏令时开始和结束前几天,新闻媒体均刊登有关部门的通告。1992年起,夏令时暂停实行。

夏令时是由于地球自转不规律引起的,而且这种自转每年都在发生变化,此处省略物理课内容n多字。

夏令时到了我们不需要做什么,但是我们的网络世界就不一样了,对于分秒必究的一些应用服务器那我们应该做些什么呢?

答案是:什么也不用做!因为linux开发者早就为我们解决了这一切。

8,NTP问题排查常见工具有ntpstat ntptime ntpq ntpdc 等等,使用方法就不赘述了,细讲可以讲一整个博客。

免责声明:文章转载自《ntp的中级知识》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微服务 springboot 启动成功后没有注册到注册中心virsh console 登录CentOS7系统下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ubuntu的NTP同步时钟设置方法

Ubuntu自动同步时钟设置方法 安装ntp服务:apt-get install ntp 启动ntp:timedatectl set-ntp on 重启ntp服务:service ntp restart 查看ntp状态:timedatectl (NTP synchronized需要为yes)  如果发现硬件时间不对(rtc time不准),可执行命令...

Linux系统时间和硬件时间设置

在linux系统中有两个时间,硬件时钟和系统时间,硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。所有Linux相关指令与函数都是读取系统时钟的设定。因为存在两种不同的时钟,那么它们之间就会存在差异。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。 用date命令对系统时...

(stm32f103学习总结)—RTC独立定时器—实时时钟实验

一、STM32F1 RTC介绍 1.1 RTC简介   STM32 的实时时钟( RTC)是一个独立的定时器。 STM32 的 RTC 模 块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的 功能。修改计数器的值可以重新设置系统当前的时间和日期。 RTC模块和时钟配置是在后备区域,无论器件状态如何(运行模式、 低功耗模式或处于复位状态),只要...

mipi和dsi

转自: http://blog.csdn.net/longxiaowu/article/details/24410021 一、MIPI MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。 已经完成和正在计划中的规范如...

[SPI].SPI协议详解

转自:http://www.sohu.com/a/211324861_468626 1、 SPI简介 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器...

linux同步windows的时间

找了很多的资料,都没有windows做时间服务,linux同步windows的时间的,最后自己找了一些软件,终于搞定了,写出来给大家共享,以免大家多走弯路   首先在http://www.meinberg.de/english/sw/index.htm   下载了一个windows的NTP服务程序:ntp4171.zip   windows 192.168...