aktuelle Uhrzeit mit Braunschweig abgleichen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo liebes Forum,

    hab hier ein kleines Howto für mich/euch/uns geschrieben, wie man den Raspberry Pi beim Systemstart mit der deutschen Referenz-Atomuhr in Braunschweig abgleichen kann, weil ich bei meiner kurzen Suche im Google und im Forum keine Antwort gefunden.
    Da ich meinen ersten Raspberry vor kurzem bekommen habe und die Einstellung der aktuellen Uhrzeit immer einer meiner ersten Aufgaben ist, habe ich mir ein kleines Howto geschrieben.

    Bitte einmalig folgende Befehle ausführen (startet eine Bash als Root und lädt den ntpdate Befehl nach):

    Code
    sudo bash
    apt-get install ntp ntpdate


    danach einmalig bitte in der Datei

    Code
    nano /etc/rc.local


    die folgenden Werte einfügen ( Stoppt den NTP-Dienst um danach den aktualisierungsbefehl abzuschicken und danach den Dienst wieder zu starten).

    Code
    /etc/init.d/ntp stop
    ntpdate ptbtime1.ptb.de
    /etc/init.d/ntp start

    Damit müsste sich der Raspberry bei jedem neustart die aktuelle Uhrzeit + Datum vom Referenzserver [font="Monaco, Consolas, Courier, monospace"]ptbtime1 ziehen.[/font]

    Bitte gebt mir Bescheid wenn irgendwas unklar, verbesserungswürdig, überflüssig oder gar falsch ist. Und bitte seid nachsichtig, dies ist mein erster Post :)

    Vielen Dank und liebe Grüße
    worldwide

  • Nun ich persönlich finde es besser nur ntpdate zu nutzen da dann nicht permanent ein Dienst im Hintergrund laufen würde und die ganze Zeit RAM+CPU verballert, wovon der Raspberry nicht sooo viel hat wie manch anderer Linux Rechner...

    Bei Raspbian ist zudem bereits standardmässig ntp (bzw das daemon program heisst ntpd) installiert
    Über die Konfigurationsdatei /etc/ntp.conf kann man einiges einstellen, auch welche Server zum Abgleich genutzt werden sollen


    Aber wie gesagt frisst der ntp Daemon permanent Resourcen weswegen ich lieber ntp deinstallieren und stattdessen manuell ntpdate über Crontab verwenden würde - also ntp deinstallieren:

    Code
    apt-get purge ntp

    Und nur ntpdate nutzen/installieren:

    Code
    apt-get install ntpdate


    Ich würde auch davon absehen das über /etc/rc.local zu regeln da dann die Systemzeit nur bei einem Start des Rechners abgeglichen werden würde, aber was ist wenn man mehrere Wochen nicht rebootet??

    Zudem macht das so eigentlich auch garkein Sinn, da beim booten der Dienst überhaupt erst gestartet wird - also ich vermute dass das worldwide nur nicht aufgefallen ist da er beides (sowohl ntp als auch ntpdate) nutzt aber im Grunde ntpdate den Abgleich vorgenommen hat... Desweiteren würde es ansonsten ja auch kein Sinn machen wieso man ein Daemon laufen hat wenn der das denn nicht selber regelmässig abgleicht


    Sinnvoller wäre das über crontab des root Benutzers zu regeln:

    Falls ihr als " pi " angemeldet seid, führt ihr bitte den Befehl sudo crontab -e aus
    Wenn ihr direkt als " root " angemeldet seid, führt ihr bitte den Befehl crontab -e aus

    Und tragt dort folgende Zeilen ein:

    Code
    @reboot		ntpdate -s 0.pool.ntp.org
    0 */2 * * *	ntpdate -s 0.pool.ntp.org

    (-s steht für silent, wenn ihr also den Befehl über die Konsole testen wollt dann lasst -s weg)

    Damit würde ein mal bei System Start und alle 2 Stunden ein Zeitabgleich gemacht werden ;)

  • Kleinvieh macht auch mist ;)

    800 kB Ram und 0,7% CPU im Leerlauf... Aber wenn es Updated wird natürlich mehr verbraucht

    Wobei mich da auch nicht unbedingt der Ram interessiert sondern eher die unnötige CPU-Last, warum erklär ich dir nachdem ich bezüglich Ram etwas weiter aushole:


    Die Angaben über "ps aux" oder "top" ist nicht sooo genau

    Spoiler anzeigen
    Zitat


    Why ps is "wrong"

    Depending on how you look at it, ps is not reporting the real memory usage of processes. What it is really doing is showing how much real memory each process would take up if it were the only process running. Of course, a typical Linux machine has several dozen processes running at any given time, which means that the VSZ and RSS numbers reported by ps are almost definitely "wrong".


    Quelle: http://virtualthreads.blogspot.de/2006/02/unders…e-on-linux.html

    Der Befehl pmap -d <PID> würde zB auch die Libs anzeigen die von dem Prozess genutzt werden und der Reale Ram des Prozesses (writeable/private) - das heisst das ntpd Programm alleine verbraucht 796kB Ram aber da das Programm auch noch Libs laden muss, die nicht unbedingt von anderen Programmen auch genutzt werden, liegt der Totale RAM verbrauch bei 5,5MB

    Oder ein selbstgeschriebenes Script das die Datei /proc/<PID>/smaps durch rechnet:


    Nun zur CPU-Last:

    Der poll-Intervall (oder auch Update-Intervall) regelt sich abhängig von der Zuverlässigkeit der Zeitquelle zwar selbst nach - das bedeutet aber das er beim starten zuerst mit seinem minimalen poll-Intervall »minpoll« (16 Sekunden) anfängt und erhöht sich, je nachdem wie gross jeweils die zu korrigierenden Zeitunterschiede sind, bis zu seinem maximalen poll-Intervall »maxpoll«; das »maxpoll« variiert je nach verwendeter Version von 1024 Sekunden bis zu 1,5 Tagen.

    Da der RaspberryPI aber keine echte HardwareClock (Echtzeituhr / RTC / hwclock) hat, es also über eine Virtuelle Software-Clock quasi emuliert wird, kommt der poll-Intervall niemals über 100 Sekunden, sondern liegt zumindest meinen Beobachtungen nach permanent bei 64 Sekunden - was wie ich finde unnötigerweise viel zu oft ist!

    Das könnt ihr euch über den Befehl ntpq -pn anzeigen lassen
    (die delay, offset und jitter Werte werden in Millisekunden angezeigt)

    Auf die paar Millisekunden die die Uhr innerhalb 2 Stunden falsch geht spielt das im Anwendungsbereich des RaspberryPI's eigentlich keine Rolle (warum muss die Uhr um 50 Millisekunden genau gehen wenn der RaspberryPI als MediaCenter oder Temperatur-Mess-Station fungiert?)

    Da der Raspberry auch nicht erweiterbare Resourcen hat, kann jede Kleinigkeit die im Hintergrund (teilweise sogar unkontrolliert/unbemerkt) rum weckelt der entscheidene Punkt sein damit eine Hauptanwendung flüssig läuft

    Habe leider auch schon öfters solche Schwierigkeiten nicht nur selber sondern auch bei anderen Anwendern bemerkt - wo zB FullHD geguckt wird und es dann plötzlich ruckelt... Der Grund dafür dann am XBMC und im Hintergrund laufenden MySQL lag weil Metadaten aktualisiert bzw eingepflegt wurden (Covers, thumbnails usw).. In so einem Fall war die Lösung den MySQL zu stoppen und schon lief der FullHD Film flüssig.


    Wenn Du sowas eh nicht machen würdest, kannst Du natürlich auch bei ntp(d) bleiben - jeder wie er mag


    Fakt ist aber das der ThemenStarter hier leider eine fehlerhafte Beschreibung als Tutorial eingestellt hat: Man benötigt nur entweder ntp oder ntpdate, nicht beides

  • Mir ist klar, dass 'ps' und 'top' nicht geeignet sind, um den Speicherverbrauch eines Prozesses zu ermitteln. Die 800 KB habe ich mittels pmap -d PID ermittelt.

    Allerdings ist es IMHO fragwürdig den Speicher aller geladenen shared libs nur 'ntpd' zuzuordnen, da zumindest ein Großteil sowieso auch von anderen Prozessen benutzt wird.
    Ich erspare mir, das im Detail zu ermitteln (alleine die libc benötigt schon ca. 1300 KB, die libm nochmals ca. 450 KB).

    Mir ist eine genau gehende Systemuhr wichtig (mein Raspberry wird u.a. als GIT Repo-Server benutzt).

    Dein Fazit (entweder ntp oder ntpdate) teile ich selbstverständlich.

    Schließen wir das Thema ab, ist eh etwas zu spezifisch hier.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!