TurboLinux11system»adjtimex简介
????Adjtimex介紹
????linux 系統(tǒng)有兩個時鐘:一個是由主板電池驅(qū)動的“Real Time Clock”也叫做RTC或者叫CMOS時鐘,硬件時鐘。當操作系統(tǒng)關(guān)機的時候,用這個來記錄時間,但是對于運行的系統(tǒng)是不用這個時間的。另一個時間是 “System clock”也叫內(nèi)核時鐘或者軟件時鐘,是由軟件根據(jù)時間中斷來進行計數(shù)的,內(nèi)核時鐘在系統(tǒng)關(guān)機的情況下是不存在的,所以,當操作系統(tǒng)啟動的時候,內(nèi)核時 鐘是要讀取RTC時間來進行時間同步(有些情況下,內(nèi)核時鐘也可以通過ntp服務器來讀取時間) 這兩個時鐘通常會有一些誤差,所以長時間可以導致這兩個時鐘偏離的比較多,最簡單的保持兩個時間同步的方法是用軟件測出他們之間的誤差率,然后用軟件進行 修正。在每次重新啟動系統(tǒng)的時候,系統(tǒng)都會用hwclock命令對時間進行同步。如果內(nèi)核時鐘在每一個時間中斷都快或者慢的話,可以用adjtimex命 令進行調(diào)整,使得RTC和內(nèi)核時間走的快慢一致。 adjtimex 允許用戶來調(diào)整內(nèi)核的時間參數(shù),因此可以改變內(nèi)核時間的速度,可以用hwclock命令來比較出內(nèi)核時間和RTC時間的偏移率,然后利用adjtimex 命令根據(jù)偏移率來對內(nèi)核時間進行校正,使得內(nèi)核時間走的快些或者慢些,當經(jīng)過調(diào)整的內(nèi)核時間跟RTC時間走的同樣快的時候,可以把這個命令行寫到啟動腳本 里面,讓每次機器啟動的時候都可以把內(nèi)核的時間參數(shù)調(diào)整正確。
????Adjtimex安裝
????首先請到下面網(wǎng)址下載:
????ftp://ftp.cse.cuhk.edu.hk/pub/redhat/linux/9/en/os/i386/RedHat/RPMS/adjtimex-1.13-6.i386.rpm
????然后使用下面指令安裝:
????# rpm –ivh adjtimex-1.13-6.i386.rpm
????Adjtimex命令使用說明
????語法:adjtimex [OPTION]… 主要參數(shù)說明:
????
????-p, –print 輸出內(nèi)核時間變量的值
????-t, –tick val 設(shè)置內(nèi)核時鐘計數(shù)間隔(微秒)
????-f, –frequency newfreq 設(shè)置系統(tǒng)時鐘偏移量
????
????-c, –compare[=count] 比較系統(tǒng)時鐘和CMOS時鐘
????-i, –interval tim 設(shè)置時鐘比較間隔時間 (sec)
????-l, –log[=file] 將當前時間記錄到文件中
????–host timeserver 查詢時間服務器
????-u, –utc 將CMOS時鐘設(shè)置成UTC
????Adjtimex應用
????查看當前內(nèi)核時間變量的信息
????# adjtimex -p
???? mode: 0
???? offset: 0
???? frequency: 573135
???? maxerror: 16384000
???? esterror: 16384000
???? status: 65
????time_constant: 6
???? precision: 1
???? tolerance: 33554432
???? tick: 10000
???? raw time: 1189736934s 800946us = 1189736934.800946
????return value = 5
????比較系統(tǒng)時鐘和CMOS時鐘的誤差
????# adjtimex --compare
???? --- current --- -- suggested --
????cmos time system-cmos 2nd diff tick freq tick freq
????1191706436 -1969378.503326 -1969378.503326 10000 573135
????1191706446 -1969378.503351 -0.000026 10000 573135
????1191706456 -1969378.503359 -0.000007 10000 573135 10000 619952
????1191706466 -1969378.503403 -0.000045 10000 573135 10000 866825
????1191706476 -1969378.503406 -0.000003 10000 573135 10000 591825
????1191706486 -1969378.503454 -0.000048 10000 573135 10000 887140
????1191706496 -1969378.503449 0.000005 10000 573135 10000 540265
????1191706506 -1969378.503510 -0.000061 10000 573135 10000 973075
????2nd diff表示系統(tǒng)時間在10秒周期內(nèi)快了還是慢了幾秒種,如“-0.000026”在這里表示系統(tǒng)時間在10秒鐘內(nèi)慢了0.000026秒(注意,這里系 統(tǒng)會連續(xù)測試出好幾個連續(xù)的差別,一般可以參考平均值)。 前面的tick/freq字段表示內(nèi)核的tick和freq值,后面的tick/freq表示系統(tǒng)對tick和freq的推薦值,用這個值可以對系統(tǒng)時間 進行校正。針對上面的誤差可以不需要校正,若需要修正可使用adjtimex –t或adjtimex –f指令進行修正。
????修正系統(tǒng)時間和CMOS時間之間的誤差:
????# adjtimex –t 10002
????把系統(tǒng)10秒(10000微秒)的長度定義成實際時間的10002微秒,也就是說讓系統(tǒng)時間走的快點,也可以說每系統(tǒng)時間走10秒(10000微秒)就快2微秒,從而系統(tǒng)時間跟上了RTC時間,達到了時間校正的目的。
轉(zhuǎn)載于:https://www.cnblogs.com/liangxiaofeng/p/3656194.html
總結(jié)
以上是生活随笔為你收集整理的TurboLinux11system»adjtimex简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css做导航
- 下一篇: IOS-字符串太长换行拼接