[LinuxOB] schlechtes timing

Christian Hesse mail at earthworm.de
Di Dez 16 08:13:21 CET 2003


Christoph Kappel sagte:
> On Mon, 15 Dec 2003 23:21:23 +0100
> Daniel Dombrowski <daniel.dombrowski at linuxob.de> wrote:
>
>> On 2003.12.15 18:45, katja pieck wrote:
>> > Hi Jungs und Mädels,
>> >
>> > kann mir einer verraten, warum sich bei meiner Suse immer die
>> > uhrzeit verstellt? War deswegen schon echt im Stress oder habe das
>> > Kind zu spät ins Bett geschickt. Gestern habe ich die uhrzeit
>> > richtig  eingestellt, heute geht sie schon wieder 15 min. nach.
>>
>> Also ich hatte so ein Phenomän schonmal bei Gentoo. Ursache dafür war,
>>
>> dass es unter Linux einen Mechanismus gibt, der versucht, das
>> "normale"  Falschgehen der Uhr auszugleichen. Also:
>
> dieser mechanismus sitzt im kernel und ohne den wuerde sich die uhr noch
> viel oefter verstellen.
>
>> Wenn man die Uhr einmal richtig stellt und sie 24 Stunden später
>> nochmal stellt und sie dann 10 Sekunden vorging, dann wird Linux
>> versuchen, das auszugleichen, so dass die Uhr dann richtig geht.
>>
>> Wenn man nun - aus welchen Gründen auch immer - größere Sprünge mit
>> der  Uhr macht, die aber eigendlich nicht da sind, bringt das diesen
>> Mechanismus ganz herrlich durcheinander. Meine Uhr ging auch bis zu 30
>>
>> Minuten am Tag falsch. Einzige Möglichkeit, das zu beheben, ist den
>> Mechanismus wieder zurückzusetzen. Unter Gentoo muss man dazu die
>> Datei / etc/adjtime löschen (oder zumindest in der ersten Zeile alle
>> drei Werte  auf 0 setzen). Danach sollte es wieder ohne Probleme
>> gehen.
>
> ich wuerde als alternative einfach den ntpd benutzen, ein daemon der die
> uhrzeit via Network Time Protocol von timeservern updated. funktioniert
> recht reibungslos und es ist wirklich wenig konfigurationsaufwand. ich
> habe hier ein aehnliches problem und wollte es umgehen, das ich auf
> allen meinen rechner verschiedene uhrzeiten habe. ist beispielsweise
> fuer logging zwecke sehr schlecht.
>
> ich wuerde aber sagen, dass der grund fuer die abweichung der uhrzeiten
> das zusammenspiel zwischen hard - und softwareclock ist. beim booten
> wird die softwareclock auf die zeit der hardwareclock gesetzt. weil
> diese hardwareclock aber recht ungenau im vergleich zur softwareclock
> laeuft, gilt beim lauf des OS halt die zeit die von der softwareclock
> vorgegeben wird. beim halten des systems wird die hardwareclock auf den
> wert der softwareclock gesetzt usw.
>
> vielleicht klappt das setzen der uhr beim halt nicht wirklich.. das ist
> hier zumindest der fehler..

Das was du da beschreibst ist die ganz normale Abweichung, die man von
einer Hardwareclock erwarten kann. Das können am Tag einige Sekunden sein,
von etwa fünf kann man oft ausgehen. Um genau diesen Wert jeden Tag wieder
zurückzustellen gibt es den von Daniel angesprochenen Mechanismus. Dein
System weiß also morgens bei hochfahren "ok, meine Uhr geht jetzt wieder
fünf Sekunden vor, stelle ich das jetzt wieder zurück." Wenn der
Mechanismus verwirrt ist springt die Uhr halt jeden Tag auch schonmal eine
halbe Stunde.
Es gibt hier also zwei Möglichkeiten:

1. Zeit läuft jeden Tag bis zu zehn Sekunden falsch:
Besagten Mechanismus aktivieren oder die Zeit regelmäßig von einem
Timeserver holen.

2. Zeit läuft jeden Tag deutlich mehr als 10 Sekunden falsch:
/etc/adjtime löschen und schauen ob es besser wird.

Ich denke die von Katja genannten 15 Minuten kann man keiner Hardwareclock
in die Schuhe schieben, das hört sich stark nach zweiterem Fall an.

Gruß
  Christian



Mehr Informationen über die Mailingliste linux