linux时间不对
‘壹’ 为什么linux上的时间不准
一、问题分析
1.转换误差
2.时钟不稳定
3.时钟频率不对
接下来来看一下Linux系统内时间管理的内容
clock source用于为linux内核提供一个时间基线,实际上就是一个时间相关的结构体,如果你用linux的date命令获取当前时间,内核会读取当前的clock source转换并返回合适的时间单位给用户空间。在硬件层,它通常实现为一个由固定时钟频率驱动的计数器(上面的
TimeBase),计数器只能单调地增加,直到溢出为止。系统启动时,内核通过硬件RTC获得当前时间,并设置到计数器内,在这以后,内核通过选定的时钟源更新实时时间信息(墙上
时间),而不再读取RTC的时间。
clock source可以有多个,系统启动时会检查所有clock source然后将精度最好的时钟源设为当前时钟源。每个时钟源的精度由驱动它的时钟频率决定,可以用如下命令查看clock source。更详细的可参考书籍《Linux就该这么学》。
‘贰’ linux服务器的时间不准
两个可能,时区错误,不过我记得没有 40 分钟的市区差。
还一个可能就是时钟本来设置就不准,你去用 ntp 对一下时间就行了。
‘叁’ 如何解决Linux操作系统下时间错误的问题
设置/etc/rc.conf中的clock 为local
cp /usr/share/zoneinfo/Asia/Shanghai 到 /etc/localtime
date MMDDhhmmYY (月日小时分钟年份)
运行/sbin/hwclock --directisa --systohc (写入硬件,directisa为引导时钟到isa模式)
PS:CST模式调节时间
‘肆’ linux里date命令显示的时间和自己的不对。说是cst,什么意思,是时区问题吗。
CST代表
ChinaStandardTime
CentralStandardTime
如果是第一种情况,就不需要更改时区。因为中国标准时间就是北京时间。
如果是第二种情况,使用的就是美国中部时间,需要修改时区。
不过我个人认为,你说的时间不一样,不一定是时区问题。也有可能是你启用了UTC导致的。
如果你使用了UTC,那么你BIOS里面的时间,就是UTC 0的时间。简言之,从北京时间中减去8个小时即可。
我的机器使用的就是UTC。
date 命令,使用不同参数,显示出不同结果,使用-u 后,显示出的时间就是UTC时间。
‘伍’ linux系统时间不一致怎么修改
方法/步骤 1 修改系统时间。 linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步,下面就分享一下时间设置及时钟同步的命令使用方法。 date命令将日期设置为2014年6月18日 ---- date -s 06/18/14 将时间设置为14点20分50秒 ---- date -s 14:20:50 将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss) ----date 0618141614.30 2 hwclock/clock 命令查看、设置硬件时间 查看系统硬件时钟 hwclock --show 或者 clock --show 设置硬件时间 hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒) 3 同步系统及硬件时钟。 下图中可以看到硬件和系统时钟相差半小时。可以使用hwclock或者clock进行同步, 硬件时钟与系统时钟同步: # hwclock --hctosys 或者 # clock --hctosys hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟 系统时钟和硬件时钟同步: # hwclock --systohc或者# clock --systohc 即用系统时钟同步硬件时钟 END 方法/步骤2 时区设置: 开始设置时区时,参考网上的资料,使用tzselect 命令来进行,结果发现tzselect命令只是告诉了设置时区的方法,而并不是真的去修改/etc/sysconfig/clock这个文件。换句话说就是tzselect命令仅仅告诉我们通过设置TZ这个环境变量来选择的时区,然后将变量添加到.profile文件中。下面就简单介绍一下如何使用tzselect命令设置时区,以及如何通过修改/etc/sysconfig/clock配置文件来设置时区。 tzselect: 执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。过程如下图: 执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行TZ='Asia/Shanghai'; export TZ 并将这行命令添加到.profile中,然后退出并重新登录。参考下图中date命令看到的结果,最终时区显示为CST,即中国标准时间。 修改配置文件来修改时区1、修改/etc/sysconfig/clock ZONE=Asia/Shanghai 2、rm /etc/localtime3、链接到上海时区文件 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 执行完上述过程后,重启机器,即可看到时区已经更改。
‘陆’ 虚拟机linux重启后时间不对
Centos系统,必须同时修改系统时间和硬件时间,才可以保证修改有效,单纯的使用date命令修改系统时间,是立即生效,重启后系统还原。具体操作如下: 1.date {查看目前本地的时间} 2.hwclock --show {
‘柒’ Linux服务器时间跑得快或者不准怎么办
windows服务器,请打开自动与internet时间同步。
Windows服务器为时间协议运用UDP端口123,它在默认情况下就该打开。但如果你想要使用NIST,你还要打开TCP端口13,TCP端口37和UDP端口37.
Linux服务器
使用date查看时间是否已经同步到国家标准授时时间。
‘捌’ linux和xp双系统,系统时间总是不对
系统中有两种时间区分,一为UTC,另一为LT(地方时)两者的区别为时区不同,UTC就是0时区的时间,而我们当地是用的北京时间要慢8小时。linux采用的UTC时间模式,windows采用的是当地时间。fedora只需要在时区设置面把UTC关掉就可以了。
‘玖’ linux服务器时间与本地时间不一致
查看BIOS时钟
#/sbin/hwclock -r
将Linux系统时间更新到BIOS
#/sbin/hwclock -w