时间,闰秒,及NTP
1.时间
格林尼治时间 GMT,以地球自转为准的时间,也叫世界时UT,但是由于自转速度会变化,所以后来不被作为标准。
世界协调时UTC,以原子钟为准,现在时间校准的标准就是原子钟。
2.闰秒
是指地球自转时间加长,每过1~2年都会增加1秒左右,但是我们是以UTC为准的,如果不调整UTC的话,GMT和UTC会相差越来越大。
故某个组织就定了一套规则,每次增加1秒就固定在6月或12月底加一秒。
这里加一秒是指调整UTC的时间,比如本来UTC当前时间戳为1436255907,下一秒原子钟应该跳到1436255908,但是碰到闰秒设置的时候,组织就把下一秒的原子钟还是调为1436255907,然后后面继续1秒1秒的加(个人猜测,可能跟实际有误)。所以这里所说的加一秒是指某个时间戳所持续的时间由1秒变成2秒。服务器等会到校时服务器上去拿最新时间校验,此时服务器时间戳可能会不变,也可能会倒退1s。
可能带来的问题:服务器时间倒退,一些涉及到sleep,计时器,或者循环的一些逻辑可能出现错误或者死循,一些低版本应用或者系统可能会因此出现故障。
如:Linux kernel低于2.6.18-164的Linux系统在2012年那次闰秒时如果不停ntp服务的话会因为ntpd锁死而重启。
不过大部分问题都只是一些程序BUG,写代码的时候未注意处理出现闰秒时时间戳的处理,当然也包括操作系统本身在防范时间倒退上的一些处理。
貌似后来linux 或者ntpd都优化了对闰秒的处理,所以写程序的时候应该可以无视这种可能性。个人觉得ntpd在同步时间时,若发现比当前小1秒左右,可以判断一下是否出现在闰秒的日期附近,是的话就不进行倒退处理而是保持,同时时钟tick进行特殊处理,过了2秒才tick到下一时间戳。不知道实际ntpd是不是这样做的。
3.ntp
network time protocol
一种控制在几十ms或者几ms误差,提供加密处理的时间同步协议。
linux下时间同步可以用2个方法,两种方法不能同时用:
1)crontab 里面加 */5 * * * * /usr/sbin/ntpdate 172.16.10.69 > /dev/null 2>&1 计划任务跑用ntpdate命令 往69服的ntp服务器上同步最新数据
不过用这个命令就会出现上面时间跳跃的问题,所以一个健壮的系统(如外网)最好不要用这个
2)填好配置,/etc/ntp.conf 等一些,然后启动ntpd服务,服务会到配置的server上同步最新时间,也会开启123端口作为ntp服务器给其他客户端连。
ntp开启的123端口是udp的,所以netstat -nul|grep 123 其中 u表示udp,l表示只显示监听的,(一般的a表示显示所有的)
相关ntp的一些文章:
如何解决2012年7月1日增加闰秒后引起linux系统重启问题 http://www.2cto.com/os/201207/138634.html
linux时间同步,ntpd、ntpdate http://blog.sina.com.cn/s/blog_636a55070101u1mg.html
http://blog.chinaunix.net/uid-20690190-id-1894436.html
一台机器如何实现既做NTP服务器又做NTP客户端 http://bbs.csdn.net/topics/310020973
时间,闰秒,及NTP的更多相关文章
- Windows 客户端时间更新脚本NTP
Windows XP 客户端时间更新脚本NTP ::Windows XP 客户端时间更新脚本NTP reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...
- 时间服务器: NTP 服务器及客户端搭建
时间服务器: NTP 服务器及客户端搭建 一. NTP 服务器的安装与设定 1. NTP 服务器的安装与设定前言 2. 所需软件与软件结构 3. 主要配置文件 ntp.conf 的处理 4. NTP ...
- 自动与因特网时间服务器同步 NTP 服务器 pool.ntp.org, 120.24.166.46 端口 123
自动与因特网时间服务器同步 NTP 服务器 pool.ntp.org 海康提供的NTP服务器 120.24.166.46 端口 123
- 使用PowerCLI给ESXi批量设置时间和配置NTP
在现代的各种业务系统中,时间同步很重要.现在VMware的虚拟化解决方案应用非常广泛,给ESXi宿主机一个统一准确的时间,也给客户机系统一个准确的时间. 生产环境中主机数量少的话倒是可以手动设置,但是 ...
- 搭建NTP时间服务器~使用NTP同步时间~构建主机间时间自动同步关系
NTP是一个时间服务器,同时它也是一个时间客户端. 我们可以使用它构建主机与主机之间的时间自动同步环境,保证所有服务器时间一致性. 常用的公共NTP时间服务器有: cn.ntp.org.cn 中国 n ...
- 时间服务器:NTP 服务器
15.1 关于时区与网络校时的通讯协议 使得每一部主机的时间同步化. DHCP 客户端/服务器端所需要的租约时间限制. 网络侦测时所需要注意的时间点.刚刚谈到的登录文件分析功能.具有相关性的主 ...
- Centos 修改时间地区及NTP同步北京时间
在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况.如果没有安装,而你使用的是 CentOS系统 那使用命令 yum insta ...
- 设置新时间校正服务器NTP SERVER
时间校正服务器IP : 10.*.*.* 适用系统:windows server 2008/windows 7 net stop w32time net start w32time w32tm /qu ...
- CentOS7时间设置及ntp同步配置(转)
出处:http://www.centoscn.com/CentOS/config/2015/1105/6385.html http://www.centoscn.com/CentOS/config/2 ...
- centos7 时间设置及ntp
转自:https://blog.gtwang.org/linux/howto-set-date-time-from-linux-command-prompt/ 這裡介紹各種在 Linux 中以手動來調 ...
随机推荐
- Android:打包apk
右击项目->导出export next,完成相关信息填写将得到.apk文件,即可部署到手机上. 第一次: 然后打开目录就可以看到生成的apk,可以发布到各大市场上.
- 1401 - Remember the Word
注意到单词的长度最长100,其实最糟糕复杂度应该能到O(300005*100),需要注意的是在字典树上匹配单词时,一旦不匹配,则后面的就不会匹配,需要break出来(这个害我TLE查了半天,日!),还 ...
- ipc$漏洞利用实例
一.什么是IPC$ IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道, 通过提供可信任的用户名和口令 ...
- 腾讯大讲堂ppt全集
腾讯大讲堂ppt全集 腾讯大讲堂ppt全集资料下载 腾讯大讲堂ppt1-62资料下载 最新最全的腾讯大讲堂ppt全集 腾讯大讲堂ppt全集资料下载 腾讯大讲堂ppt1-62资料下载地址 http:// ...
- [原创]使用命令行工具提升cocos2d-x开发效率(一)之TexturePacker篇
TexturePacker是一个常用的制作sprite sheet的工具,它提供了很多实用的功能. 一般我们制作sprite sheet都是使用他的gui版本,纯手工操作,就像下面这张图示的一样. 刚 ...
- 【原创】Sliding Window Maximum 解法分析
这道题是lintcode上的一道题,当然leetcode上同样有. 本题需要寻找O(N)复杂度的算法. 解体思路比较有特点,所以容易想到参考 最小栈 的解题办法. 但是最小栈用栈维护最小值很直观,这道 ...
- arcgis engine 开发之QI
ArcGIS Engine开发基础之QI AO开发中QI(接口查询)非常重要,从某种意义上说不会QI就不会做AO开发. 在讲ArcGIS Engine开发QI实例操作之前,以一个现实生活例子以方便大家 ...
- Ubuntu链接ubuntu服务器
以前在windows下用ssh工具putty连接 linux服务器, 很简单,在linux下要连接linux的服务器, 找了下,果然putty在linux中也行1,sudo apt-get insta ...
- android从应用到驱动之—camera(2)---cameraHAL的实现
本来想用这一篇博客把cameraHAL的实现和流程都给写完的.搞了半天,东西实在是太多了.这篇先写cameraHAL的基本实现框架,下一篇在具体写camerahal的流程吧. cameraHAL的实现 ...
- Android View 绘制过程
Android的View绘制是从根节点(Activity是DecorView)开始,他是一个自上而下的过程.View的绘制经历三个过程:Measure.Layout.Draw.基本流程如下图: per ...