首页 > 编程知识 正文

python datetime格式化日期(linux4 tick值,详解在 linux 下的时间校对工具 adjtimex 的用法)

时间:2023-05-04 19:18:38 阅读:121311 作者:4714

通常有许多方法可以调整linux系统的时间和RTC的时间匹配。 在时间服务器所在的网络中,使用linux系统的NTP服务同步系统时间是一种简单的方法,但如果不满足这些条件,也可以使用系统内部提供的时间修改工具。 这个工具就是adj超市的发带ex。

adj超市发带ex是一种用于显示或修改linux内核时间变量的工具,它提供对内核时间变量的直接访问功能,并且可以修改系统时间漂移。 任何人都可以通过adj超市的挂接ex命令查看时间变量,但只有root用户才能修改这些参数。 此外,RHEL5必须安装名为adj超市JOEx的软件包,但RHEL4安装光盘上没有。

首先介绍一下adj超市发带ex的使用

语法: adj超市的发箍ex [OPTION]…主要参数说明:

-p,-print输出内核时间变量的值

-t,-设置-tick val内核时钟数间隔

-f,-frequency newfreq设置系统时钟的偏移

-c,compare [=count ]比较系统时钟和CMOS时钟

-i,-interval超市的头箍设置时钟比较间隔时间(sec ) ) ) ) ) ) ) ) ) )。

-l,log [=file ]将当前时间记录在文件中

主机超级挂接eserver联系时间服务器

-u,-UTC将CMOS时钟设置为utc

介绍具体的使用方法。

#adj超市的发箍ex -c

----current--------suggested----

cmos超市发带e system-CMOS error _ ppmtickfreqtickfreq

1239841138 28861.471817

123984114828861.471815-0.299836106772

123984115828861.4718180.39983610677299836086476

123984116828861.4718270.99983610677299836045850

123984117928861.4718280.19983610677299836099602

123984118928861.4718340.59983610677299836072413

123984119928861.4718370.39983610677299836086475

123984120928861.471839.29983610677299836092725

对各参数进行说明。

cmos超市发带e硬件RTC时间(自1970年1月1日起的秒数);

系统- CMOS :系统时间和RTC不同的时间(单位: s );

error_ppm :表示当前tick循环中系统时间的system-cmos的对比度是快还是慢

前面的tick/freq字段表示当前内核时钟的计数间隔,是系统时钟偏移(tick的默认值为10s=10000ms )

最后的tick/freq指示系统对于tick和freq的推荐值,可以用该值来校正系统时间。

拿一行来说明:

123984115828861.4718180.39983610677299836086476

根据计算:

系统- CMOS :28861.471818:系统时间与RTC的差值为28861.471818s

具体说明时差8小时=8*3600=28800s,系统时间比cmos时间快了61.471818s

error_ppm:0.3 :表示系统时间在当前tick周期内,error _ ppm=second _ diff/interval * 100000;

(28861.471818[当前system-cmos]-28861.471815[上次采样的system-CMOS]]/10s*1000000=0.3相当于3us。

tick:9983 :表示内核时钟计数间隔为9983ms

freq:6106772 :表示当前系统时钟偏移

对于adj超市的发带ex,需要明确可以调整的时间数量:

9000=tick=11000

-33554432=frequency=33554432

时间的调整一般使用-t这个参数。 对于微妙水平的需要,使用-f参数。

)1)首先查看error_ppm,系统是快于还是慢于实际RTC。 分别是正值和负值。

)2)确认时间差订单:

(3)参考值计算:

系统tick和freq的平均值

t[参考]=error_ppm*0.01

f[参数]=error_ppm*0.1*65536

(4)计算指令参数所需的数值:

对于毫秒订单:

如果系统比实际时间快:

t[参数]=tick平均值-t[参考]平均值执行: adj超市头箍ex-t[参数]

如果系统晚于实际时间:

t[参数]=tick平均值t[参照]平均值执行: adj超市的头箍ex-t[参数]

对于美国订单:

如果系统比实际时间快:

f[参数]=tick平均值-f[参照]平均值执行: adj超市的头箍ex-f[参数]

如果系统晚于实际时间:

f[参数]=tick平均值f[参照]平均值执行: adj超市的头箍ex-f[参数]

举个例子,-t参数的使用:

(1)首先,调整系统时间以使RTC时间和系统时间一致

(2) adj超市的发箍ex -c

----current--------suggested----

cmos超市发带e system-CMOS error _ ppmtickfreqtickfreq

1239843830 28861.482212

123984384028861.4992121700.010006106772

123984385028861.5162211700.91000610677299836047675

123984386028861.5332261700.51000610677299836072675

123984387028861.5502271700.11000610677299836097676

123984388028861.5672361700.81000610677299836053925

123984389028861.5842371700.11000610677299836099238

123984390028861.6012421700.51000610677299836072676

)3)系统比RTC快1700us,需要使用-t参数

t[参见]=error_ppm*0.01=1700*0.01=17

t[参数]=tick平均-t[参考]平均=10000-17=9983

执行: adj超市发箍ex -t 9983

(4) adj超市的发箍ex -c

----current--------suggested----

cmos超市发带e system-CMOS error _ ppmtickfreqtickfreq

1239844092 28861.923291

123984410228861.923289-0.399836106772

123984411228861.9232930.49983610677299836080225

12398441228861.9232940.19983610677299836098975

123984413128861.923293-0.1998361067729983611475

123984414128861.9232930.09983610677299836105225

123984415128861.9232940.09983610677299836105225

123984416128861.923288-0.69983610677299836145849

)5)可以看出现在的系统和实际的RTC时间的差变小了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。