14.4. When the clock is wrong
The Linux software clock is not always accurate. It is
kept running by a periodic timer interrupt
generated by PC hardware. If the system has too many processes
running, it may take too long to service the timer interrupt, and
the software clock starts slipping behind. The hardware clock
runs independently and is usually more accurate. If you boot
your computer often (as is the case for most systems that aren't
servers), it will usually keep fairly accurate time.
If you need to adjust the hardware clock, it is usually
simplest to reboot, go into the BIOS setup screen, and do it
from there. This avoids all trouble that changing system time
might cause. If doing it via BIOS is not an option, set the new
time with date and clock
(in that order), but be prepared to reboot, if some part of the
system starts acting funny.
Another method would be to use either hwclock -w
or hwclock --systohc to sync the hardware clock
to the software clock. If you want to sync your software clock to your
hardware clock then you would use hwclock -s or
hwclock --hwtosys. For more information on this
command read man hwclock.