Linux系统时间和硬件时间

在Windwos中,系统时间的设置很简单,界面操作,通俗易懂。而且设置后,重启,关机都没关系。系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系统会自动在Bios里面取硬件时间,以保证时间的不间断。

但在Linux下,默认情况下,系统时间和硬件时间,并不会自动同步。

在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。
硬件时间的运行,是靠Bios电池来维持,而系统时间,是用CPU tick来维持的。
在系统开机的时候,会自动从Bios中取得硬件时间,设置为系统时间。

下面以centOS7来讲解。

硬件时钟命令参数汇总

-r, --show        读取并打印硬件时钟(read hardware clock and print result)
-s, --hctosys     将硬件时钟同步到系统时钟(set the system time from the hardware clock)
-w, --systohc     将系统时钟同步到硬件时钟(set the hardware clock to the current system time)
--set --date="12/12/16 10:19"     修改硬件时钟,月/日/年 时:分:秒

命令示例

1. 查看硬件时钟
[root@controller ~]# hwclock -r
Thu 06 Apr 2017 11:43:58 AM CST  -0.121928 seconds
[root@controller ~]# hwclock --show
Thu 06 Apr 2017 11:44:06 AM CST  -0.289168 seconds
2. 同步系统时间到硬件时钟
[root@controller ~]# hwclock
Thu 06 Apr 2017 11:46:35 AM CST  -0.028650 seconds
[root@controller ~]# hwclock -w
[root@controller ~]# hwclock
Thu 06 Apr 2017 11:47:00 AM CST  -0.223930 seconds
3. 同步硬件时钟到系统时钟
[root@controller ~]# date
Thu Apr  6 11:48:31 CST 2017
[root@controller ~]# hwclock -s
[root@controller ~]# date
Thu Apr  6 11:48:41 CST 2017
4. 修改硬件时钟
[root@controller ~]# hwclock --set --date="12/12/16 10:19"
[root@controller ~]# hwclock 
Mon 12 Dec 2016 10:19:05 AM CST  -0.107052 seconds

你可能感兴趣的:(Linux系统时间和硬件时间)