从这台电脑买来开始,在Arch
Linux下一直就有一个问题,就是时间老是走快,有时候开上一天电脑,就能快上半个小时。这弄得我用电脑的时候总是有一种很不安的感觉,因为虽然随时可
以看到桌面下面的表,但确不知道实际的时间是什么。之前也尝试着解决过好多次,也Google了,也在上了,也用ntp了,但都没有搞定。
今天重装了一下系统(把64位的干掉了又换成32位的了,64位系统在现阶段确实软件支持还不够,虽然可以在64位用32位的程序,但还是有些麻烦),然后就又试着搞了一下这个问题。里zlowly朋友的回复给了我一些启发,虽然之前也试过在启动时添加kernel参数,但都只是网上说什么就加了什么,没有仔细研究。于是我就又google了一下clock参数,然后把所有可用的参数试了一下,还是不行。
但是又发现了一个可能有关系的参数,clocksource。查了一上kernel的文档,关于clocksource的的解释是这样的:
clocksource= [GENERIC_TIME] Override the default clocksource
Format:
Override the default clocksource and use the clocksource
with the name specified.
Some clocksource names to choose from, depending on
the platform:
[all] jiffies (this is the base, fallback clocksource)
[ACPI] acpi_pm
[ARM] imx_timer1,OSTS,netx_timer,mpu_timer2,
pxa_timer,timer3,32k_counter,timer0_1
[AVR32] avr32
[X86-32] pit,hpet,tsc,vmi-timer;
scx200_hrt on Geode; cyclone on IBM x440
[MIPS] MIPS
[PARISC] cr16
[S390] tod
[SH] SuperH
[SPARC64] tick
[X86-64] hpet,tsc
每台电脑上,clocksource参数的可用值可能并不一样,可以通过查看
/sys/devices/system/clocksource/clocksource0/available_clocksource
文件来得到自己机器的可用值。我的是这样的# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm同时,文件/sys/devices/system/clocksource/clocksource0/current_clocksource中记录的是当前使用的clocksource参数。
于是,我就试着改了一下clocksource,看看能不能解决掉时间不准的问题。先把clocksource参数修改为各种支持的值来实验一下,比如# echo hpet > /sys/devices/system/clocksource/clocksource0/current_clocksource找到那个可以使时间准确的参数,我的是hpet。
然后修改/boot/grub/menu.lst(如果是用的grub的话),在启动项里加上参数,如kernel /vmlinuz26 root=/dev/disk/by-uuid/25367e09-138c-4eb5-99d5-8433daf5f5f3 clocksource=hpet这样就可以每次开机时都使clocksource参数取hpet了。
于是,问题解决。
以上解决方法可能只适用于2.6.*的内核,之前的说不定也没这问题,呵呵。
阅读(5857) | 评论(0) | 转发(0) |