国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux時間同步介紹

2024-06-28 13:20:04
字體:
來源:轉載
供稿:網友
linux時間同步介紹 2015-06-23 16:48 by 瀟湘隱者, ... 閱讀, ... 評論, 收藏, 編輯

在Linux系統中,為了避免主機時間因為在長時間運行下所導致的時間偏差,進行時間同步(synchronize)的工作是非常必要的。Linux系統下,一般使用ntp服務來同步不同機器的時間。NTP 是網絡時間協議(Network Time PRotocol)的簡稱,干嘛用的呢?就是通過網絡協議使計算機之間的時間同步化。

系統時間與硬件時間

在展開Linux系統時間同步前,我們必須先了解一些概念:在一臺計算機上我們有兩個時鐘:一個稱之為硬件時間時鐘(RTC Real Time Clock,又叫實時時鐘),還有一個稱之為系統時鐘(System Clock)。

硬件時鐘是指嵌在主板上的特殊的電路, 它的存在就是平時我們關機之后還可以計算時間的原因。RTC的英文全稱是Real-Time Clock,翻譯過來是實時時鐘芯片. RTC是PC主板上的晶振及相關電路組成的時鐘電路的生成脈沖主板上的晶振及相關電路組成的時鐘電路的生成脈沖,RTC經過8254電路的變頻產生一個頻率較低一點的OS(系統)時鐘TSC,系統時鐘每一個cpu周期加一周期加一,每次系統時鐘在系統初起時通過RTC初始化。8254本身工作也需要有自己的驅動時鐘(PIT)

系統時鐘就是操作系統的kernel所用來計算時間的時鐘. 它從1970年1月1日00:00:00 UTC時間到目前為止秒數總和的值。在Linux下系統時間在開機的時候會和硬件時間同步(synchronization),之后也就各自獨立運行了

默認情況下,系統時間和硬件時間,并不會自動同步。在Linux運行過程中,系統時間和硬件時間以異步的方式運行,互不干擾。硬件時間的運行,是靠BIOS電池來維持,而系統時間,是用CPU tick來維持的。這也是系統時間長時間運行時會產生時間偏差的原因,我小時候有買過電子手表,那個時候的電子產品還相當不靠譜,電子手表走著走著就和新聞聯播里面的時間對不上了,總會查那么幾分鐘甚至幾十分鐘,那個時候最苦惱的事情就是需要手動調整電子手表的時間,這也算是時間同步的一種吧!系統時間可以通過date命令查看,硬件時間可以通過clock或hwclock命令查看。我們來看看系統時間和硬件時間吧。

[root@db-server ~]# date
Wed Jan 14 14:49:16 CST 2015
[root@db-server ~]# 
[root@db-server ~]# clock
Wed 14 Jan 2015 02:49:24 PM CST -0.473465 seconds
[root@db-server ~]# 
[root@db-server ~]# hwclock --show
Wed 14 Jan 2015 02:49:36 PM CST -0.625346 seconds
[root@db-server ~]# 
[root@db-server ~]# 

clip_image001

如下所示,我們修改了系統時間,將時間修改為2015-01-14 08:00:00,然后我們查看硬件時間就可以發現,系統時間和硬件時間是異步運行。互補干擾。

[root@db-server ~]# date -s "2015-01-14 08:00:00"
Wed Jan 14 08:00:00 CST 2015
[root@db-server ~]# date
Wed Jan 14 08:00:02 CST 2015
[root@db-server ~]# clock
Wed 14 Jan 2015 02:52:54 PM CST -0.045672 seconds
[root@db-server ~]# 

clip_image002

硬件時間的設置,可以用hwclock或者clock命令。其中,clock和hwclock用法相近,只用一個就行,只不過clock命令除了支持x86硬件體系外,還支持Alpha硬件體系。

設置硬件時間

[root@db-server ~]# clock
Wed 14 Jan 2015 03:24:09 PM CST -0.941272 seconds
[root@db-server ~]# hwclock --set --date="2015-01-15 15:24:00";
[root@db-server ~]# clock
Thu 15 Jan 2015 03:24:04 PM CST -0.476775 seconds
[root@db-server ~]# 

clip_image003

[root@db-server ~]# clock --help
hwclock - query and set the hardware clock (RTC)
Usage: hwclock [function] [options...]
Functions:
 --help show this help
 --show read hardware clock and print result
 --set set the rtc to the time given with --date
 --hctosys set the system time from the hardware clock
 --systohc set the hardware clock to the current system time
 --adjust adjust the rtc to account for systematic drift since 
 the clock was last set or adjusted
 --getepoch print out the kernel's hardware clock epoch value
 --setepoch set the kernel's hardware clock epoch value to the 
 value given with --epoch
 --version print out the version of hwclock to stdout
Options: 
 --utc the hardware clock is kept in coordinated universal time
 --localtime the hardware clock is kept inlocal time
 --directisa access the ISA bus directly instead of /dev/rtc
 --badyear ignore rtc's year because the bios is broken

上一篇:Linux gcc命令

下一篇:ArchLinux

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 雅安市| 通山县| 疏勒县| 伊通| 常山县| 芜湖市| 峡江县| 凌源市| 江阴市| 双辽市| 天祝| 湛江市| 瓦房店市| 东丽区| 贵德县| 石家庄市| 武鸣县| 兴城市| 色达县| 梁河县| 台湾省| 卓尼县| 渭源县| 鄂州市| 昭通市| 彝良县| 阿勒泰市| 洛宁县| 乌什县| 江永县| 济阳县| 启东市| 开原市| 区。| 长海县| 乌兰察布市| 楚雄市| 丹巴县| 威信县| 宜宾县| 高陵县|