On Thursday 25 March 2004 08:14, Frank Wenzke wrote:
kann ich irgendwie die die Laufgeschwindigkeit der Systemzeit beeinflussen, auf einem meiner Rechner schläft die Uhr fast ein (täglich 15 sec. Verspätung) und ich hab keine Lust ständig oder via cron-job nachzusteuern.
Frank
Zeit ist komplizert ...
1.) Es gibt mehrere Uhren
a) Hardwareuhr, die dank Batterie auch läuft wenn der Rechner ausgeschaltet ist und die in Deinem Fall wahrscheinlich für die Verspätung sorgt.
b) Die Timerinterrupts mit $HZ werden vom Kernel als Jiffies gezählt und als Zeit gewertet. (Zeit aus a) beim Booten + ??? jiffies => 20:22) Hier spielt der Quarz des Timers eine Rolle. Bei laufendem System ist eine Korrektur (Faktor!) mit adjtime möglich.
c) Die Nanosekunden zwischen den Jiffies können bei Anforderung (gettime()) aus aus dem TSC-Register des Prozessors (es zählt die Taktfrequenz mit 64 bit) ermittelt.werden.
2.) Die Uhren sind unterschiedlich zu stellen:
a) hwclock -w schreibt die Systemzeit in die Hardwareuhr zurück.
b) ntpdate ntp2.ptb.de stellt die Systemzeit einmalig gemäß eines Zeitservers aus dem Internet. (Anschließend 2.a) nicht vergessen!)
c) der ntp-dämon stellt durch fortlaufende Synchronisation mit einem Zeitserver oder einer Referenzuhr über adjtime() einen Faktort zur ständigen Anpassung der Systemzeit her. Wenn eine Referenz ansprechbar ist, wird die Hardwareuhr automatisch alle 11 Minuten geschrieben. Das ist die beste Methode. Die erlaubte Korrektur ist 500 ppm (43 Sek auf 24 h). Das läßt sich ggf. durch selbstkompilieren verändern.
Ich hoffe das hilt!
Bernhard