Linux – System clock drifting out of sync with hwclock and ntpd

clock-synchronizationlinuxntpntpdtime

My current system drifts from the hwclock and ntpd dramatically. I've looked at many forums and posts online and on SF, but haven't found a suitable solution.

Here is my ntpq -pn output:

   remote           refid      st t when poll reach   delay   offset  jitter
=============================================================================
 122.226.192.4   66.220.9.122     2 u   30   64    3   53.734  146507. 127822.
 120-88-46-10.sn 158.43.128.33    2 u   33   64    3  150.373  12823.5 127821.
 suisho.attritio 133.100.9.2      2 u   29   64    3   34.351  148556. 133910.
 123.146.124.27  61.153.197.226   3 u   27   64    3   21.123  152572. 133909.
 114.80.81.1     204.152.184.72   2 u   29   64    3   55.605  148520. 129851.

As of now my 'hwclock' says:

Fri 25 Mar 2011 03:27:06 PM CST -0.048504 seconds

My 'date' says:

Fri Mar 25 15:21:17 CST 2011

They are off by about 6 minutes and I just did an ntpdate -u about 10 minutes ago…

Also, I'm currently running Centos 5.5 32-bit with kernel 2.6.18-194.32.1.el5

What should I do to fix the system clock? The hardware clock seems to be working fine.

EDIT:
Added the new values in my kernel boot line as described by Sacx. Though the delay is a lot better after reboot, but after 16 hours the time is still slow by 35 minutes. Just checked my current_clocksource and it says tsc still. I tried changing it to acpi_pm but it doesn't work. Looking at my available_clocksource, it shows: jiffies tsc pit

Best Answer

Add this parameters at kernel boot line

notsc divider=10 clocksource=acpi_pm

and restart your system. This is related to RHEL 5 Hyper-V Guest - Cannot sync with NTP after kernel upgrade