本篇文章给大家谈谈linux是如何处理闰秒,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、2015 闰秒 linux 怎么解决
- 2、闰秒 linux 怎么解决 ubuntu
- 3、如何解决增加闰秒后引起linux系统重启问题
- 4、linux闰秒发生时,会改变jiffies的值吗
- 5、Linux下touch命令有什么作用如何使用
- 6、闰秒 linux 怎么解决 2015
1、2015 闰秒 linux 怎么解决
查看内核命令行:
uname -a
点击这里查看:
PS:VPS是一个虚拟环境,所有的VPS都使用节点的物理内核,VPS内只有一个虚拟的工作路径,因此VPS没有自己独立的内核包
声明: 本文 ” 7月1日闰秒事件linux的注意事项” 采用 BY-NC-SA 协议进行授权.
2、闰秒 linux 怎么解决 ubuntu
北京时间将在7月1日7:59:59后面增加1秒,出现7:59:60的特殊现象,目前来说已经成功上加了
不用解决
对于用户来说,是无感知的
只要把标准原子时钟调1秒,其他设备都从刚原子钟校准时间即可
目前大部分设备都通过网络校准,所以不用解决
3、如何解决增加闰秒后引起linux系统重启问题
a. 若由于其他原因实在无法进行内核升级,且应用对时间的敏感度不是非常高,
容许有1秒钟的差值,有如下建议:
对于使用ntpd服务进行时间同步的RHEL,至少提前1天停止ntpd服务。并确保每台
机器上安装的tzdata的版本低于2011n-2(不 包含该版本)。
对于不使用ntpd服务进行时间同步的RHEL,确保每台机器上安装的tzdata的版本低
于2011n-2(不包含该版本)。
从而使系统不进行闰秒调整,待该事件完成之后,再可启动ntpd服务进行同步,或
者手动修改时间为正确时间。
提示:对于内部的以RHEL作为NTP服务器的系统,它是NTP服务器的同时,也是使用
ntpd服务与更上层NTP服务器进行时间同步的客户端, 故上述方法也适用于该系统。
b. 若由于其他原因实在无法进行内核升级,但应用对时间的敏感度非常高,不容
许有1秒钟的差值,则有可能发生kernel hang住的问题,尽管这个可能性是非常小的。
如果发生问题,可考虑重启该系统恢复。
根据这个情况,相应的解决方法如下:
如相关设备是使用Linux kernel 为2.6.18-164.e15以前的Linux系统,请做如下预防工作:
1、2012年6月28日当天(北京时间23点以前)先确认ntp服务已同步,然而关闭ntpd服务。
2、2012年7月2日(北京时间8点以后)当天开启ntpd服务,并确认ntp服务已同步。
对照上面的解决方法,检测所有服务器(100多台,累死了),发现rhel5.4服务器的内核都为2.6.18-164.e15,但都没有开启ntp服务,而所有的SUSE Linux Enterprise Server 10 的linux系统里内核都是2.6.16.60-0.54.5-smp,就1台数据库服务器启动了ntp服务,下面演示是如何的解决这个问题方法:
1、先查看服务器是否有开启ntp服务,可以使用以下命令查询:
netstat -aunl|grep123 #由于123是ntp启动的端口,所有可以使用netstat来查看ntp的123端口,查看ntp服务是否启动;
ps -ef|grep ntp #查看ntp服务的进程是否在后台运行;
service ntp status #使用service来查看ntp服务的启动状态
下面是使用这3中方法进行的检测结果
可以看得我的服务器里ntp服务正在运行
关闭是方法如下:
直接杀掉ntp的进程,命令为:kill -9 $(ps -ef|grep ntp|grep -v grep|awk '{print $2}');
使用service来关闭ntp,命令为:service ntp stop;
关闭后为了保证安全,还需要把ntp开机自动启动给关闭,命令为:chk
4、linux闰秒发生时,会改变jiffies的值吗
关于linux的Jiffies/Tick/HZlinux核心几个重要跟时间有关的几个名词: HZ、tick、jiffies。1.linux HZlinux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts,比较常见的设置是HZ=100。可以通过 cat /proc/interrupt 查看timer中断次数,并于一秒后再次观察其值,通过前后差值可以估算HZ的值。要检查内核源码中HZ的值是什么,可以执行命令:#cat kernel/.config grep 'CONFIG_HZ='还可以直接更改文件param.h2.TickTick是HZ的倒数,意即timer interrupt每发生一次中断的时间。如HZ为250时,tick为4毫秒(millisecond)。3.JiffiesJiffies为linux核心变数(32位元变数,unsigned long),它被用来纪录系统自开机以来,已经过多少的tick。每发生一次timer interrupt,Jiffies变数会被加一。在ARM体系结构中,jiffies被初始化为jiffies_64,而jiffies_64是一个u64位元变数,在kernel/timer.c中定义:u64 jiffies_64 __cacheline_aligned_in_smp = INITIAL_JIFFIES;即jiffies在系统开机时,并非初始化成零,而是被设为INITAL_JIFFIES(在文件include/linux/jiffies.h中定义为-300*HZ),即代表系统于开机五分钟后,jiffies便会溢位。那溢位怎么办?事实上,linux核心定义几个macro(timer_after、time_after_eq、time_before与time_before_eq),即便是溢位,也能藉由这几个macro正确地取得jiffies的内容。
5、Linux下touch命令有什么作用如何使用
在Linux命令中,我们会经常使用到cd、ls等命令,但像touch这样的命令就比较少用了,那么touch命令有什么作用呢?下面随小编一起来了解下Linux下touch命令的用法吧。
Linux下如何使用touch命令?
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。
1.命令格式:
touch [选项]。。。 文件。。。
2.命令参数:
-a 或–time=atime或–time=access或–time=use 只更改存取时间。
-c 或–no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
3.命令功能:
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
4.使用范例:
实例一:创建不存在的文件
命令:
touch log2012.log log2013.log
输出:
[root@localhost test]# touch log2012.log log2013.log
[root@localhost test]# ll
-rw-r–r– 1 root root 0 10-28 16:01 log2012.log
-rw-r–r– 1 root root 0 10-28 16:01 log2013.log
如果log2014.log不存在,则不创建文件
[root@localhost test]# touch -c log2014.log
[root@localhost test]# ll
-rw-r–r– 1 root root 0 10-28 16:01 log2012.log
-rw-r–r– 1 root root 0 10-28 16:01 log2013.log
实例二:更新log.log的时间和log2012.log时间戳相同
命令:
touch -r log.log log2012.log
输出:
[root@localhost test]# ll
-rw-r–r– 1 root root 0 10-28 16:01 log2012.log
-rw-r–r– 1 root root 0 10-28 16:01 log2013.log
-rw-r–r– 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -r log.log log2012.log
[root@localhost test]# ll
-rw-r–r– 1 root root 0 10-28 14:48 log2012.log
-rw-r–r– 1 root root 0 10-28 16:01 log2013.log
-rw-r–r– 1 root root 0 10-28 14:48 log.log
实例三:设定文件的时间戳
命令:
touch -t 201211142234.50 log.log
输出:
[root@localhost test]# ll
-rw-r–r– 1 root root 0 10-28 14:48 log2012.log
-rw-r–r– 1 root root 0 10-28 16:01 log2013.log
-rw-r–r– 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -t 201211142234.50 log.log
[root@localhost test]# ll
-rw-r–r– 1 root root 0 10-28 14:48 log2012.log
-rw-r–r– 1 root root 0 10-28 16:01 log2013.log
-rw-r–r– 1 root root 0 2012-11-14 log.log
说明:
-t time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:
[[CC]YY]MMDDhhmm[.SS]
这里,CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则touch 将把年数CCYY限定在1969–2068之内.MM为月数,DD为天将把年数CCYY限定在1969–2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0–61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时 间.由于系统的限制,早于1970年1月1日的时间是错误的。
上面就是Linux下touch命令的用法介绍了,使用touch命令可以修改文件时间戳,其修改的是指定日期时间而不是现在时间,你学会了吗?
6、闰秒 linux 怎么解决 2015
北京时间将在7月1日7:59:59后面增加1秒,出现7:59:60的特殊现象,目前来说已经成功上加了
不用解决
对于用户来说,是无感知的
只要把标准原子时钟调1秒,其他设备都从刚原子钟校准时间即可
目前大部分设备都通过网络校准,所以不用解决
linux是如何处理闰秒的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、linux是如何处理闰秒的信息别忘了在本站进行查找喔。