闰秒对linux的影响分析及解决
来源:互联网 发布:linux rpm怎么安装 编辑:程序博客网 时间:2024/05/16 12:42
大概了解了下闰秒及其如何让linux kernel panic:
闰秒的产生:日常所用时间UTC,是根据地球自转计时,跟精确的原子时钟存在偏差,为了保持一致,每偏差1s就进行1次同步,就产生了闰秒。即如人们所讲的,在今年6月30号出现23:59:60。
开源的NTPD在同步服务器时间时,直接调用系统调用adjtimex到达内核的ntp处理逻辑,内核的do_adjtimex经过一系列处理逻辑,判定在发生闰秒时,调用printk给出打印提示:
printk(KERN_NOTICE
"Clock: inserting leap second 23:59:60 UTC\n");
而此时是对xtime_lock加锁的,printk会尝试唤醒klogd,而调度发生时又会获取系统时间,出现死锁。
闰秒的产生:日常所用时间UTC,是根据地球自转计时,跟精确的原子时钟存在偏差,为了保持一致,每偏差1s就进行1次同步,就产生了闰秒。即如人们所讲的,在今年6月30号出现23:59:60。
开源的NTPD在同步服务器时间时,直接调用系统调用adjtimex到达内核的ntp处理逻辑,内核的do_adjtimex经过一系列处理逻辑,判定在发生闰秒时,调用printk给出打印提示:
printk(KERN_NOTICE
"Clock: inserting leap second 23:59:60 UTC\n");
而此时是对xtime_lock加锁的,printk会尝试唤醒klogd,而调度发生时又会获取系统时间,出现死锁。
参考:http://blog.jobbole.com/22714/,http://coolshell.cn/articles/7804.html
其他影响,对时间比较敏感的业务要注意防止消息事件的乱序。
简要解决方法:在发生闰秒前停掉ntpd服务,闰秒发生后再开启ntpd
根解:放弃使用ntpd,使用简化的sntp协议,同时在实现直接调用settimeofday来完成,不会触发内核的事件调整异常
0 0
- 闰秒对linux的影响分析及解决
- 闰秒原理及其对计算机系统影响
- 闰秒及其对计算机系统影响
- Greenplum闰秒故障的分析解决
- 字符编码对程序的影响及分析
- UFEI对linux的影响
- 受到闰秒影响的zookeeper集群
- 如果避免闰秒对Mysql 产生影响
- 解决软键盘对fixed的影响
- Linux下主机名的修改对oracle监听及EM的影响及恢复
- ASP.NET页面中window.open方法对history对象的影响及解决
- Ajax 对Web性能的影响分析
- 油价上涨对中国经济的影响分析
- IDC分析师观点:金融危机对中国IT市场的影响及意义
- Nutch分布式检索配置过程及端口启动顺序对搜索结果的影响分析
- 实例分析关键词位置及密度对网站排名的影响
- 化妆品的组成及对人体影响
- JavaScript对SEO的影响及解决之道
- android平台的三个编译命令----make,mm,mmm
- Android基础知识_Activity组件
- poj 3190 优先队列+贪心
- 动态内存与智能指针
- Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP分析及解决办法
- 闰秒对linux的影响分析及解决
- std::advance 给迭代器增加指定偏移量
- docker_restful_api简介
- JsonUtil
- Eclipse 警告提示:Access restriction:The type JPEGCodec is not accessible due to restriction on
- POJ2236---Wireless Network
- 基于LGPL开源项目 Log4cpp安装与使用
- 一、认识jQuery
- 关于java.util.Scanner