Chinaunix首页 | 论坛 | 博客
  • 博客访问: 462119
  • 博文数量: 144
  • 博客积分: 5675
  • 博客等级: 大校
  • 技术积分: 1512
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-20 10:46
文章分类

全部博文(144)

文章存档

2014年(1)

2013年(1)

2012年(12)

2011年(39)

2010年(48)

2009年(29)

2008年(14)

我的朋友

分类: LINUX

2011-07-20 10:38:47

  从这台电脑买来开始,在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.*的内核,之前的说不定也没这问题,呵呵。
阅读(5807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~