# Uhr geht immer mehr nach / läuft zu langsam ...

## Snatchy

Hi!

Sorry, falls es bereits einen Thread zu diesem Thema gibt, aber über die Suche habe ich nichts gefunden.

Folgendes Problem:

Ich habe ein Dualboot System mit Gentoo Linux (mit CK Kernel 2.6.13; es trat aber auch schon mit den von Gentoo herausgegebenen Kerneln auf) und Windows XP. Boote ich Gentoo geht nach einer gewissen Zeit die Uhr immer mehr nach während sie unter Windows XP (keine automatische Zeitsynchronisation) völlig einwandfrei läuft.

Bin momentan noch dabei mich erst unter Linux einzuarbeiten und habe daher leider keine Ahnung an welchen Zeit-/Uhreinstellungen es liegen könnte. Weiss daher auch nicht, welche Einstellungen ich Euch hier mitteilen müsste, damit man den Fehler finden kann.

----------

## pawlak

Verschiebe mal die Datei /etc/adjtime, stelle die Uhr dann richtig und starte neu. Hat mir damals geholfen.

----------

## Snatchy

hi!

habe es mal probiert und es bringt leider keine Besserung. Pro Minute verliert die Uhr ca. 1-2 Sekunden.... unter Windows hingegen lief sie zuvor den ganzen Tag exakt.

----------

## fabi@allstuff.de

Ich habe das gleiche Problem. Es sind mindestens immer 2 - 3 Stunden Unterschied, je nachdem, wann ich sie wieder richtig stelle.

Leider habe ich noch keine Lösung gefunden.

TiP: Wenn du deinen Kernel neukompilierst, solltest du an dem Tag die Uhr nicht mehr nachstellen.

Ich hatte damit große Probleme, als ich versuchte, durch ein Kernelupgrade das Problem zu beheben.

Sobald der Kernel kompiliert wurde, und druch ein Umstellen der Uhr der Zeitpunkt sozusagen in der Zukunft ist, kannst du nicht mehr so mit diesem Kernel neustarten, oder solltest es nicht tun.

----------

## Lenz

Am besten du holst dir den ntpd und lässt die Uhr von dem daemon automatisch über einen Zeitserver synchronisieren.

----------

## Snatchy

Über so 'ne automatische, regelmäßige Synchronisation habe ich auch schon nachgedacht. Nur versuche ich unter anderem von Windows wegzukommen, weil mir diese Behandlung von Symptomen statt der Ursachen ziemlich missfällt   :Crying or Very sad: 

----------

## bbgermany

ich hatte das phänomen auch einmal auf einem uralt board. mit einem batterietausch war das auch nicht zu beheben. vielleicht hat genau wie auf meinem alten board einfach die rtc nen schuss weg,

----------

## AntonWert

Also von einer regelmäßigen - automatischen - Aktualisierung per ntp würde ich abraten, da dann ja die Systemzeit springen würde, was z.B. bei make ja sehr kritisch sein könnte!

----------

## m.b.j.

Naja springen? Falls man den ntpd verwendet sicher nicht, da der in relativ kleinen Intervallen syncronisiert Falls man allerdings nen cronjop aufsetzt der ntp-date ausführt könnte es solche probleme geben...

----------

## SkaaliaN

ich habe auch ntpd  emerged und lasse die zeit syncronisieren. funzt optimal.keine probleme >)

----------

## think4urs11

 :Question: 

 *AntonWert wrote:*   

> Also von einer regelmäßigen - automatischen - Aktualisierung per ntp würde ich abraten, da dann ja die Systemzeit springen würde, was z.B. bei make ja sehr kritisch sein könnte!

 

Genau um das zu verhindern ist ntp ja so ein relativ 'dickes' Programm eben gerade damit selbst während ein make oder sonstwas im Vordergrund läuft die Uhrzeit im Hintergrund trotzdem immer weiter an die wirkliche Uhrzeit angepaßt wird - ohne Sprünge.

Ok, wenn man natürlich die Holzhammermethode 'ntp-date via cron' oder so nimmt dann nicht; das hat aber eh nichts mehr mit sauberer Zeitsynchronisation zu tun.

----------

## AntonWert

 *Snatchy wrote:*   

> Hi!
> 
> Boote ich Gentoo geht nach einer gewissen Zeit die Uhr immer mehr nach während sie unter Windows XP (...) völlig einwandfrei läuft.
> 
> 

 

Um nochmal auf das Prob zurückzukommen, es scheint ja kein HW deffekt zu sein, denn mit Windows geht's ja offenbar.

Was ich mal testen würde, wie die Zeit im Bios läuft, denn 1-2 sec müssten ja durchaus bemerkbar sein.

Gennerell vermute ich aufgrund der Fahlerbeschreibung einen Fehler in der Konfiguration.

Der Teufel sitzt im Detail:

Als ich eben meine einstellungen geprüft habe, hab ich auch eine (ok eher geringfügige) Verschiebung um 2 Minuten vestgestellt. Was mir dann aber komisch vorkam: beim Herunterfahren kam früher immer "syncing clock to hardweareclock" (oder so ähnlich) und auch nach mehrmahligem probieren kommt das nun nichtmehr.

Ist das bei euch allen so?

----------

## tux2

 *AntonWert wrote:*   

> 
> 
> Der Teufel sitzt im Detail:
> 
> Als ich eben meine einstellungen geprüft habe, hab ich auch eine (ok eher geringfügige) Verschiebung um 2 Minuten vestgestellt. Was mir dann aber komisch vorkam: beim Herunterfahren kam früher immer "syncing clock to hardweareclock" (oder so ähnlich) und auch nach mehrmahligem probieren kommt das nun nichtmehr.
> ...

 

Das kann man in der /etc/conf.d/clock einstellen ob er beim herunterfahren die clock syncen soll oder nicht

 */etc/conf.d/clock wrote:*   

> 
> 
> ...
> 
> # If you want to set the Hardware Clock to the current System Time
> ...

 

zum anderen problem:

ich hatte ein ähnliches problem mit gentoo64 (und apic). Hier war 1sec. (system) = 2sec (real).

Lösung für mein Problem war dies:

noapictimer als bootparameter hinzugefügt (/boot/grub/grub.conf)

Grüßle,

tux2

----------

## Snatchy

 *Quote:*   

>  Um nochmal auf das Prob zurückzukommen, es scheint ja kein HW deffekt zu sein, denn mit Windows geht's ja offenbar. 
> 
> Was ich mal testen würde, wie die Zeit im Bios läuft, denn 1-2 sec müssten ja durchaus bemerkbar sein. 

 

im Bios läuft die Zeit normal ...

lesen Windows und Linux die Zeit vielleicht an unterschiedlichen Orten oder nach unterschiedlichen Methoden aus?

----------

## AntonWert

 *Snatchy wrote:*   

> 
> 
> lesen Windows und Linux die Zeit vielleicht an unterschiedlichen Orten oder nach unterschiedlichen Methoden aus?

 

also auslesen tun Windows wie auch Linux die hardweare clock - die ja angeblich auch richtig arbeitet (Bios)

Wie's bei Windows dann genau weiterläuft ist irgenwo in den USA nachzufragen, vielleicht (was aber wohl unwahrscheinlich ist) sagen die dir's auch....

Bei Linux hingegen wird mit der HW Clock nur ein Timer im Kernel geladen, der fortan die Zeit mitzählt. Dieser Kernel-Timer (um mal einen namen zu vergeben) kann auch angepasst werden, so das er sehr exakt läuft. Beim System halt wird dann diese exakte Zeit (siehe meine Frage oben   :Wink: ) in die HW Clock zurückgeschrieben.

----------

## Fauli

Hast du denn in /etc/conf.d/clock CLOCK="local" gesetzt?

----------

## AmonAmarth

also ich hatte so ein ähnliches problem auch mal, aber das lag daran das ich die festplatte ohne dma unterstützung laufen hatte und das ganze system beim emergen hing wie scholli.....und irgendwie hat sich dabei auch immer die uhr verstellt (ging nach nach jeder starken cpu auslast!)

und da du ja noch neuling bist und sicherlich noch jede menge am compilieren bist könnte es bei dir doch ähnlich sein oder?

ich hab dann die board unterstützung aktiviert im kernel und ab dann hat hdparm auch immer schön dma = 1 angezeigt und die uhr läuft normal!

vielleicht hilfts!

mfg

*Stephan

----------

## SkaaliaN

Poste mal die Ausgabe von 

```

hdparm -tT /dev/hda

```

----------

## Snatchy

 *Quote:*   

>  Hast du denn in /etc/conf.d/clock CLOCK="local" gesetzt? 

 

vielen Dank, damit scheint es zu laufen   :Smile: 

 *Quote:*   

>  also ich hatte so ein ähnliches problem auch mal, aber das lag daran das ich die festplatte ohne dma unterstützung laufen hatte und das ganze system beim emergen hing wie scholli.....und irgendwie hat sich dabei auch immer die uhr verstellt (ging nach nach jeder starken cpu auslast!) 
> 
> und da du ja noch neuling bist und sicherlich noch jede menge am compilieren bist könnte es bei dir doch ähnlich sein oder? 
> 
> ich hab dann die board unterstützung aktiviert im kernel und ab dann hat hdparm auch immer schön dma = 1 angezeigt und die uhr läuft normal! 
> ...

 

stimmt, bei starker CPU Last durch das Kompilieren hing die Uhr wesentlich mehr nach als sonst. Besonders deutlich wurde es als ich letztens nach neuen USE-Flags zig Programme neukompilieren lassen hab.

Weiss gar nicht, ob die auch mit DMA unterstützung läuft. Werde mich gleich mal drum bemühen.

 *Quote:*   

>  Poste mal die Ausgabe von 
> 
> Code:	
> 
> hdparm -tT /dev/hda 

 

meine Ausgabe:

```

hdparm -tT /dev/hda

/dev/hda:

 Timing cached reads:   1236 MB in  2.00 seconds = 617.17 MB/sec

 Timing buffered disk reads:   12 MB in  3.37 seconds =   3.56 MB/sec

```

EDIT:

```
hdparm -d /dev/hda

/dev/hda:

 using_dma    =  0 (off)

```

ich denke da sollte ich mcih mal drum kümmern   :Embarassed: 

----------

## unclefu

du könntest auch noch mal schaun ob mit dmesg "loosing some ticks" kommt....

bei mir lag das an nem kaputten controller, der immter den DMA modus beendet hat, also interrupts bis unters dach...

abhilfe schafft auch chrony

chrony hältt die systemzeit stabil, also mit einem ntp server synchron ohne zu springen, dann dauert ne sekunde mal mehr oder weniger lang...

cya

daniel

----------

## l3u

Ich hab's bei mir so gemacht:

-- ntpd (openntpd!) ein paar Tage lang NICHT starten

-- /etc/adjtime löschen

-- an ein paar tagen hintereinander immer mal wieder die Systemuhr mit einer Atomuhr synchronisieren, z.B. ptbtime1.ptb.de, danach hwclock --systohc

-- schließlich ntpd in runlevel default

Siehe auch man adjtimex!

Kein Syncen der Systemuhr zur Hardwareuhr in /etc/conf.d/clock, das macht dann der ntpd. Im Übrigen sollte es egal sein, ob die Hardwareuhr auf UTC oder local läuft. Meine Hardwareuhren laufen alle auf UTC.

----------

## SvenFischer

Einfach und fein ist sicherlich auch "rdate", gleichnamiges ebuild ist vorhanden.

----------

## l3u

Das korrigiert aber die Abweichung der Hardwareuhr nicht.

----------

## UTgamer

Auf meinem 32Bit Rechner habe ich gleiches Phänomen, und konnte es nie beseitigen (ntp wollte ich nie).

Auf meinem 64Bit Rechner läuft die Echtzeituhr perfect, wie auch die Uhr unter Windows auf dem 32Bit Rechner, also HW OK.

Auf beiden sind die gleichen Einstellungen für die Uhr - local.

Die Unterschiede zwischen beiden sind, 

a) Kernel 2.6.13 auf dem 64 Bitter mit eingestellter Timer-Frequency von 1000

b) Kernel 2.6.12 auf dem 32 Bitter.

Ob Kernel 2.6.13 die Verbesserung brachte?

----------

## SkaaliaN

wenn du kein DMA aktiviert hast (wie man an deiner hdparm -tT ausgabe sehen kann, ist es normal das deine zeit sich umstellt und dann zwangsweise nachgeht. aktiviert dein hdparm mal. wie du das machst steht im gentoo-handbuch beschrieben.

----------

## UTgamer

 *pawlak wrote:*   

> Verschiebe mal die Datei /etc/adjtime, stelle die Uhr dann richtig und starte neu. Hat mir damals geholfen.

 Danke, das war die Lösung.  :Very Happy: 

 *UTgamer wrote:*   

> Auf meinem 64Bit Rechner läuft die Echtzeituhr perfect, wie auch die Uhr unter Windows auf dem 32Bit Rechner, also HW OK.

  Das betraf Gentoo aber nur wenn das Gerät lief. Bei jedem Neustart wurde aber die Uhrzeit wieder verstellt. Knoppix und SuSE hatten den Fehler nicht.

Jetzt brauche ich das große nptl Gedöns nicht mehr. Das war eine ungeliebte Software, da der Rechner erst auf die Hardwarefirewall hätte warten müssen die gleichzeitig mit dem Rechner bootet, deswegen hatte ich es auch nie installiert.   :Wink: 

----------

## SkaaliaN

dank des neuem layouts dürfte die uhr doch eh nicht mehr nachgehen oder? so ist es zumindest bei mir...  :Rolling Eyes: 

----------

## UTgamer

 *Scup wrote:*   

> dank des neuem layouts dürfte die uhr doch eh nicht mehr nachgehen oder? so ist es zumindest bei mir... 

 

Doch tut sie wären des Bootens. Um ~1Tag und 2Stunden stellte sie sich nach hinten. Wenn der Rechner einmal lief behilt er auch seine Zeit bei.

----------

## SkaaliaN

mh..komisch..hab das problem nicht.früher hatte ich das aber auch immer.naja..dafür hab ich probleme mit udev *G  :Wink: 

----------

## UTgamer

Hm, ohne die "/etc/adjtime" läuft die Systemuhr nun ungefähr 1,5 - 2 Stunden pro Tag daneben.

Da die BIOS Uhr aber sehr genau geht - Abweichung weniger als 1sec pro Tag -,

möchte ich wie dies auch Windows macht die Hardwareuhr als Referenz nehmen.

(Ja ich weiß das Sommer-/Winterzeit sich nicht automatisch umstellen)

Nun habe ich nach einigem studieren bisher nur einen Weg gefunden dies durchzuführen.

Ich erstellte einen Cronjob "hwclock.cron" mit follgenden Eintrag in "/etc/cron.hourly"

```
#! /bin/sh

/sbin/hwclock --hctosys
```

Eine Frage an die Gurus:

Habe ich jetzt irgend welche Probleme wie z.B. mit emerge, wenn das System stündlich seine Uhrzeit berichtigt?

----------

## SkaaliaN

 *UTgamer wrote:*   

> Hm, ohne die "/etc/adjtime" läuft die Systemuhr nun ungefähr 1,5 - 2 Stunden pro Tag daneben.
> 
> Da die BIOS Uhr aber sehr genau geht - Abweichung weniger als 1sec pro Tag -,
> 
> möchte ich wie dies auch Windows macht die Hardwareuhr als Referenz nehmen.
> ...

 

nein..soweit ich weiß nicht. dürfte normal keine probleme machen

----------

## UTgamer

Danke, dann bin ich nun einigermaßen zufrieden mit der Korrektur von ein paar Minuten pro Stunde. Evtl. erweitere ich den Cronjob noch auf einen 15 minütigen Intervall.

 :Smile: 

----------

## UTgamer

Möglicherweise war es Zeitverschwendung für das Clockproblem einen Ersatz zu finden:

http://www.gentoo.org/cgi-bin/viewcvs.cgi/*checkout*/sys-kernel/gentoo-sources/ChangeLog

Digest:

*gentoo-sources-2.6.13-r4 (12 Oct 2005)

  12 Oct 2005; Daniel Drake <dsd@gentoo.org>

  +gentoo-sources-2.6.13-r4.ebuild:

  Clock skew fix for AMD64 X2, and update to Linux 2.6.13.4

 :Shocked:   :Smile: 

----------

