In article , root wrote:
Good points. The computer loses time when it is running.
It is the way the time is updated by the cpu/kernel.
I am running linux.
This suggests that one of several things is happening.
One is that some device driver in your system is disabling interrupt
processing for a period longer than the kernel's "tick" time value
(usually 1 millisecond, in modern Linux kernels). I've seen this
happen with some disk and network drivers, particularly under periods
of high loading. Some video-card drivers might also have this
problem, particularly when doing highly-intensive rendering.
Another possibility is that your system is configured to use a "high
resolution timer" system to keep track of the time... i.e. a timer
within the CPU itself which ticks along at the basic CPU clock rate,
or some sub-multiple of it. If the motherboard / BIOS / kernel
"thinks" that the CPU is running at a certain clock rate, but the
actual oscillator is a bit slow, then the high-resolution timer will
be running at a rate slower than the kernel's computations expect, and
the clock will drift.
You may be able to resolve the problem by using the NTP daemon
(available in most distributions). It has two benefits:
- It can set, and resynchonize the system clock via periodic queries of
highly-stable time servers, via the Internet. This gives you a
very reliable time-sync to start with.
- It can calculate the amount of "drift" that your system's local
clock has (by comparing the system clock-run rate against the rate
deduced by querying NTP servers), and can then instruct the kernel
to compensate for this drift (i.e. "tweaking" the kernel's own
clock-update algorithm). This compensation helps keep the clock
correct, in between the larger adjustements that the NTP daemon
makes when it queries Internet time servers.
--
Dave Platt AE6EO
Friends of Jade Warrior home page:
http://www.radagast.org/jade-warrior
I do _not_ wish to receive unsolicited commercial email, and I will
boycott any company which has the gall to send me such ads!