大家好,综合小编来为大家讲解下辣椒种植时间和方法详细介绍,详细介绍在linux下的时间校对工具adjtimex的用法这个很多人还不知道,现在让我们一起来看看吧!
这项工作也可以使用系统中提供的时间校正工具来完成,这个工具就是adjtimex。
Adjtimex是一个显示或修改linux内核时间变量的工具。它提供对核心时间变量的直接访问,并且可以校正系统时间漂移。任何用户都可以使用adjtimex命令查看时间变量。
但是只有根用户可以更改这些参数。另外,需要在RHEL5上安装adjtimex软件包,RHEL4的安装光盘上没有。
首先介绍一下adjtimex的用法。
语法:adjtimer [option] …主要参数描述:
-p,-print输出核心时间变量的值。
-t,-tick val设置内核时钟计数间隔。
-f,-frequency newfreq设置系统时钟偏移。
-c,-compare[=count]比较系统时钟和CMOS时钟。
-i,-interval tim设置时钟比较间隔(秒)。
-l,-log[=file]在文件中记录当前时间。
-主机时间服务器查询时间服务器。
-u,-UTC将CMOS时钟设置为UTC。
下面是它的使用方法:
#adjtimex -c
--- current --- -- suggested --
cmos time system-cmos error_ppm tick freq tick freq
1239841138 28861.471817
1239841148 28861.471815 -0.2 9983 6106772
1239841158 28861.471818 0.3 9983 6106772 9983 6086476
1239841168 28861.471827 0.9 9983 6106772 9983 6045850
1239841179 28861.471828 0.1 9983 6106772 9983 6099602
1239841189 28861.471834 0.5 9983 6106772 9983 6072413
1239841199 28861.471837 0.3 9983 6106772 9983 6086475
1239841209 28861.471839 0.2 9983 6106772 9983 6092725
介绍每个参数:
Cmos时间硬件RTC时间(1970年1月1日起秒);
System-cmos:系统时间与RTC的时间差(单位:s);
Error_ppm:表示系统cmos的比较值在当前时钟周期内是快还是慢。
前一个节拍/频率字段指示当前内核时钟计数间隔和系统时钟偏移(节拍默认值为10s=10000ms)。
以下tick/freq表示tick和freq的推荐值,可用于校正系统时间。
取一行来解释:
1239841158 28861.471818 0.3 9983 6106772 9983 6086476
通过计算:
system-cmos:28861.471818 :系统时间和RTC相差的时间为28861.471818s
具体解释为:时差8小时=8*3600=28800s,系统时间比cmos时间快了61.471818s
error_ppm:0.3:表示系统时间在当前的tick周期内,error_ppm=second_diff/interval*1000000;
(28861.471818[当前的system-cmos]-28861.471815[上次采样的system- cmos]) /10s*1000000=0.3 相当于3us.
tick:9983:表示内核时钟计数间隔为9983ms
freq:6106772:表示当前系统时钟偏移量
对于adjtimex,需要清楚可以调整的时间数量级:
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) 计算命令参数需要的数值:
对于ms数量级:
如果系统比实际时间快:
t[参数]=tick平均值-t[参照]平均值执行: adjtimex -t t[参数]
如果系统比实际时间慢:
t[参数]=tick平均值+t[参照]平均值执行: adjtimex -t t[参数]
对于us数量级:
如果系统比实际时间快:
f[参数]=tick平均值-f[参照]平均值执行:adjtimex -f f[参数]
如果系统比实际时间慢:
f[参数]=tick平均值+f[参照]平均值执行:adjtimex -f f[参数]
举一个实例-t参数使用:
(1)首先调整系统时间,使得RTC时间和系统时间一致
(2)#adjtimex -c
--- current --- -- suggested --
cmos time system-cmos error_ppm tick freq tick freq
1239843830 28861.482212
1239843840 28861.499212 1700.0 10000 6106772
1239843850 28861.516221 1700.9 10000 6106772 9983 6047675
1239843860 28861.533226 1700.5 10000 6106772 9983 6072675
1239843870 28861.550227 1700.1 10000 6106772 9983 6097676
1239843880 28861.567236 1700.8 10000 6106772 9983 6053925
1239843890 28861.584237 1700.1 10000 6106772 9983 6099238
1239843900 28861.601242 1700.5 10000 6106772 9983 6072676
(3)系统比RTC快了1700us,需要使用-t参数
t[参照]=error_ppm*0.01=1700*0.01=17
t[参数]=tick平均值-t[参照]平均值=10000-17=9983
执行:adjtimex -t 9983
(4)#adjtimex -c
--- current --- -- suggested --
cmos time system-cmos error_ppm tick freq tick freq
1239844092 28861.923291
1239844102 28861.923289 -0.3 9983 6106772
1239844112 28861.923293 0.4 9983 6106772 9983 6080225
1239844122 28861.923294 0.1 9983 6106772 9983 6098975
1239844131 28861.923293 -0.1 9983 6106772 9983 6111475
1239844141 28861.923293 0.0 9983 6106772 9983 6105225
1239844151 28861.923294 0.0 9983 6106772 9983 6105225
1239844161 28861.923288 -0.6 9983 6106772 9983 6145849
本文[高级伪原创标题]到此分享完毕,希望对大家有所帮助。