🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# NTP Real Time Clock RTC是一个独立于CPU的一个芯片,RTC有一个小小的电池,即使机器关机了,RTC电路也会不断的在2 Hz 和8,192 Hz频率之间去发送中断,Linux使用RTC只在启动时获得的时间和日期。 Programmable Interrupt Timer (PIT):可编程中断计时器 Time Stamp Counter (TSC):80 x86微处理器包括一个时钟输入插口,用来接收来自外部振荡器(external oscillator)的时钟信号(clock signal),从奔腾80 x86微处理器开始,增加了一个计数器(counter),随着每增加一个时钟信号(clock signal),通过rdtsc汇编指也可以去读TSC寄存器(TSC register),当使用这个寄存器(TSC register),内核必须考虑时钟信号(clock signal)的频率,举例:如果CPU的频率(专业点就是clock ticks或者clock cycles)是1GHz,即CPU一秒钟1000000000次clock cycle,TCS寄存器每一纳秒(nanosecond)增加一次,Linux可能利用这个寄存器来获得更精确的时间测量。 关于时间格式的解释 GMT (Greenwich Mean Time)格林威治标准时间 UTC (Universal Time Coordinated,UTC)世界协调时间,国际标准,这个时间可以认为是和GMT是相等的, CST (China Standard Time UTC+8:00)中国沿海时间(北京时间) ## Redhat系列系统时区设置 ~~~ # vim /etc/sysconfig/clock ZONE="Asia/Shanghai" UTC=true ARC=false # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ~~~ ### 方法1 ~~~ # ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime # date Fri Jul 6 06:35:52 CST 2007 ~~~ ### 方法2 方法2️⃣会覆盖方法1 ~~~ # /etc/profile TZ='America/Los_Angeles';export TZtzselect ~~~ 1. 配置文件中的driftfile是什么? 我们每一个system clock的频率都有小小的误差,这个就是为什么机器运行一段时间后会不精确. NTP会自动来监测我们时钟的误差值并予以调整.但问题是这是一个冗长的过程,所以它会把记录下来的误差先写入driftfile.这样即使你重新开机以后之前的计算结果也就不会丢失了 2. 如何同步硬件时钟? NTP一般只会同步system clock. 但是如果我们也要同步RTC(hwclock)的话那么只需要把下面的选项打开就可以了 代码: ~~~ # vi /etc/sysconfig/ntpd SYNC_HWCLOCK=yes ~~~ 3 ~~~ server [IP or hostname] [prefer] perfer:表示优先级最高 burst :当一个运程NTP服务器可用时,向它发送一系列的并发包进行检测。 iburst :当一个运程NTP服务器不可用时,向它发送一系列的并发包进行检测。 ~~~ [全球NTP服务器列表][1] [1]:http://www.cnblogs.com/muahao/p/7161841.html