时间,闰秒,及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 中以手動來調 ...
随机推荐
- esriControlsMousePointer 控制鼠标指针
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerHourglass; 控制鼠标指针选项. 不变 值 描述 esriPo ...
- textbox不支持Ctrl+A
http://stackoverflow.com/questions/5885739/why-are-some-textboxes-not-accepting-control-a-shortcut-t ...
- ggplot2 demo
title <- rep("A Really Rather Long Text Label", 25)value <- runif(25, 1,10)spacing & ...
- Redis安装教程
1. Linux下Redis安装教程 (1)安装 #tar xf redis-2.6.14.tar.gz #cd redis-2.6.14 #make #make install (2)配置 修改re ...
- [原]用WebBrowser组件模拟人工运行搜索引擎自动点击搜索结果的实验
本代码只是业余时间无聊写着试试,用WebBrowser组件模拟人工运行搜索引擎自动点击搜索结果的实验 这是网络中盛传的提高搜索引擎点击率的一种方式,当然属于作弊,不推荐各位使用.另外这种方式的性能不佳 ...
- 类Item_equal
class Item_equal: public Item_bool_func { List<Item_field> fields; /* list of equal field item ...
- LA 4728 (旋转卡壳) Squares
题意: 求平面上的最远点对距离的平方. 分析: 对于这个数据量枚举肯定是要超时的. 首先这两个点一定是在凸包上的,所以可以枚举凸包上的点,因为凸包上的点要比原来的点会少很多,可最坏情况下的时间复杂度也 ...
- 实现一个基于FTP协议的程序——文件上传下载器(十三)
此为一个系列,后续会把内容补上...
- db2数据库sql报错信息
sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定的列名被解释为一个有相互关系的引用 +098 ...
- 常用UI布局
1.LinearLayout(线性布局):将布局所包含的控件在线性方向上依次排列. <1>android:orientation 指定了排列方向(垂直方向(vertical).水平方向(h ...