Automatischer Neustart des Raspberry Pi

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Dazu müsste man das Problem analysieren.

    Also zunächst benötigt man grundlegende Infos: welche Raspbian Version du hast, wie dein Pi konfiguriert ist (config.txt), welche Chromium Version läuft und welche Seite du geöffnet hast wo dann das Problem auftritt. Auch wie viel Programme nebenbei noch laufen können ausschlaggebend sein.

    Dann würde ich versuchen nebenher ua. die RAM als auch die CPU Auslastung zu überwachen, ggf auch die I/O Auslastung der SD. Wenn man zB feststellt das der Pi in die Knie geht und RAM+CPU am Limit laufen, wär der nächste Schritt herauszufinden welche Prozesse dafür verantwortlich sind.

    ...oder vielleicht hast du auch einfach nur der GPU zu wenig RAM zugewiesen.

    • Offizieller Beitrag

    Hi,

    ich sitze ja was OT betrifft auch viel zu oft im Glashaus, aber das hier grenzt schon fast an Piraterie.

    Was raten wir doch immer wieder: Mach einen eigenen Thread auf, dann finden es auch User mit dem selben Problem! ;)

  • hast ja Recht, aber das regelmäßig rebootet werden muss ist ja offensichtlich bei mehreren Usern

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Meine Diagnose lautet hier: Ein prozess benötigt zu viel RAM-Speicher. Der RAM-Speicher ist dann irgendwann aufgebraucht, und dann fängt der Pi an, den RAM-Speicher auf die SD-Karte auszulagern (SWAP-Space). Diese Zugriffe sind aber grottenlangsam, also wird das ganze System ausgebremst, läuft aber noch weiter. Mit diesem Zustand kann man natuerlich nicht mehr auf der Desktop-Oerfläche arbeiten.

    Entweder werden einfach zu viele Prozesse gleichzeitig gestartet, oder ein Prozess hat ein Memory-Leak (und frisst nach und nach immer mehr Speicher). Solange es noch laeuft, kann man mit "top" auf der Konsole die Prozesse beobachten, dort ist auch die Prozent vom Peicher angegeben. Wenn da was mit der Zeit anwaechst, ist das ein schlechtes Zeichen und ein Hinweis auf den Übeltaeter.

    Vielleicht ist Chromium aber auch einfach von natur aus zu Speicherhungrig, und er laesst sich dann auf einem Pi nicht sinnvoll verwenden. Dann kann man evtl. noch den SWAP Speicher auf eine schnellere Harddisk auslagern, aber beim Pi ist ja USB das bottleneck.,

    Was noch sein kann: Ein Speicherhungriger Prozess wird überfluessigerweise mehrfach gestartet oder es gibt noch einen Zombi vom letzten einloggen.

  • Linux handhabt die RAM Verwaltung anders & besser. Freier Arbeitsspeicher ist verschwendeter Arbeitsspeicher.

    Da ich in deiner config.txt kein gpu_mem Eintrag sehe wird der Default 64 verwendet und das kann bereits für eine Desktopumgebung alleine zu wenig sein, dann noch zusätzlich einen Browser und die Grenze ist erreicht. Setz gpu_mem mal auf 128 (empfohlener Wert für Desktop).

    Ich hab auch ein Script zum auslesen des belegten GPU_RAMs geschrieben => https://github.com/meigrafd/Sampl…ster/gpu_mem.sh


    PS: Laut deiner "top" Ausgabe verbraucht ein synergyc Prozess 48,3% CPU... Schon mal den Prozess beendet?

    chromium-b+ hat ebenfalls mehrere Prozesse - hast du mehrere Tabs auf?

  • Code
    4 3 * * *  /sbin/shutdown -r 1 &>/dev/null

    ist weniger Schreibarbeit :shy:

    Ja, wenn es um die bash geht. Ist aber nicht portable. Teste mal mit der sh. Z. B.:

    Bash
    #!/bin/sh -e
    #
    echo "1" &>/dev/null
    #
    echo "2" > /dev/null 2>&1
    #
    exit 0

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Allerdings läuft auf der Raspi doch bash ;)

    Ja, auch, ... aber die shell der crontab ist evtl. die sh:

    Code
    pi@raspberrypi:~ $ cat /etc/crontab | grep -i shell
    SHELL=/bin/sh

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Kontraproduktiv war der Hinweis denk ich weniger. Wie gesagt werden per Default nur 64MB der GPU zugewiesen, was für eine GUI aber arg grenzwertig ist. Natürlich stehen dir nun 64MB weniger RAM zur Verfügung wie zuvor, aber dein Problem verbirgt sich wo anders, die 64MB Unterschied machen bzgl. deines Problems den Kohl nicht fett.

    Du hast zu viele Anwendungen auf die zu viel RAM verbrauchen und deshalb auf SWAP ausgewichen wird. Dafür gibts beim Pi kein Allheilmittel, abgesehen von 'weniger Anwendungen' ;)

    In deinem Fall würde es evtl. schon reichen weniger Tabs in Chromium offen haben... Laut deiner top Ausgabe in Beitrag#27 sieht man auch noch einen java Prozess der ebenfalls nicht gerade wenig RAM belegt.

    Letztlich sitzt Du vor Deinem Pi und musst das selber abwägen/ausprobieren, wie viel Anwendungen/Prozesse du gleichzeitig auf haben kannst so dass das System noch angenehm nutzbar bleibt.


    SWAP wird nur in 2 Fällen genutzt:

    1) Wenn im regulären RAM etwas liegt was zwar noch benötigt wird aber schon länger nicht mehr angesprochen wurde.

    2) Wenn nicht mehr genügen regulärer RAM verfügbar ist, sei es in Form von Cache oder tatsächlich 'free'.

    Wenn sowohl SWAP als auch RAM voll sind fängt der Kernel an RAM frei zu machen indem Prozesse zwangsweise beendet werden - oder das OS wird halt übelst langsam.

    Da bei dir auch noch ein synergyc Prozess läuft, der noch dazu eine hohe CPU Auslastung verursacht, nehme ich mal an das du Maus+Tastatur nicht direkt an den Pi angeschlossen hast sondern eben Sharest... Wenn dann dieser Prozess beendet wird weil nicht mehr genug RAM frei ist, kannst du den Pi logischerweise nicht mehr bedienen.... Folgeerscheinung.

    Wenn du absolut nicht auf Anwendungen o.ä. verzichten kannst, könntest du auch noch probieren den SWAP zu erweitern - vorausgesetzt dein Datenträger ist schnell genug, denn das würde auf jeden Fall ausbremsen.

    //EDIT: Siehe dazu auch https://wiki.ubuntuusers.de/Swap/

  • das ist dann aber ein Schwäche der Software auf dem PI, denn es funktioniert kurz nach dem reboot alles prima.

    Das über die Laufzeit der mem ausgeht ist miese SW ergo gibt es offensichtlich Gründe regelmäßig ein reboot durchzuführen was hier ja öfter bezweifelt wird!

    Das hat wenig mit dem Pi zu tun sondern betrifft ausnahmslos jeden Computer.

    Man muss halt ganz klar beachten das ein regulärer Computer mehr RAM verbaut hat und dieser auch i.d.R. nachrüstbar ist. In einem normalen Computer sind heutzutage mind. 8GB RAM verbaut also acht mal so viel wie im Pi.

    Man kann jeden Computer dazu kriegen dass der RAM voll ausgelastet wird. Auf jedem Computer kriegt man dann ähnliche Probleme.

    Mit der Software hat das auch nur indirekt etwas zu tun. Du kannst halt einfach nicht zig Programme gleichzeitig auf haben - man muss irgendwann mal welche beenden.

    Deshalb ist ein Reboot, insbesondere regelmäßig, nicht erforderlich. Nach einem Reboot ist halt nur alles "frisch" und lässt sich angenehm nutzen, um so mehr man öffnet um so mehr RAM wird belegt und irgendwann ist der halt voll. Es spielt keine Rolle welches Betriebssystem eingesetzt wird oder welche Architektur dahinter steckt, jede handhabt es etwas anders aber die Limits sind überall die selben. Es können nur die Ressourcen genutzt werden wie verfügbar.

    Ich nenne da auch immer wieder gerne als Beispiel einen meiner dedicated Server:

    Ein Intel Core i7 mit 64 GB RAM. Aktuell läuft dieser seit 573 days ohne Reboot, hat kein SWAP und von den 64GB RAM sind 392MB free, 59GB cached-free.

    Code
    root@x:~# uptime
     19:45:58 up 573 days,  1:27,  1 user,  load average: 2,06, 2,08, 2,13
    root@x:~# free -m
                 total       used       free     shared    buffers     cached
    Mem:         64378      63985        392       1318       1157      58340
    -/+ buffers/cache:       4487      59890
    Swap:            0          0          0
    root@x:~#

    Wenn also an deiner Aussage etwas dran wäre müsste mein i7 ja schon längst abgeschmiert sein - läuft aber super ;)

    Kann dir auch weitere Ausgaben zeigen, wo die Rechner auch schon ewig ohne Reboot laufen - inkl. mein eigener PC.

    Du kannst auf deinem normalen PC auch nicht 10000 Programme gleichzeitig laufen haben.

    Wenn ich auf meinem PC 4x Chrome mit á 40 Tabs auf hab sowie 2x Firefox mit etlichen Tabs und dann noch ein paar mal Notepad++, ArduinoIDE, ein paar Terminals und Dateimanager - kommt von Windows auch irgendwann die Meldung das nicht mehr genügend RAM frei ist. Dann reboote ich aber gewiss nicht, oder schmeiß de PC weg, sondern schließe nur ein paar Tabs....

  • Darf man frage, welche Seiten offen sind? Je nach dem, was dort läuft (schlecht programmiertes JS, Videos, Flash :baeh2:) kann es sein, dass Ressourcen nicht rechtzeitig oder gar nicht freigegeben werden. Inweifern der Browser da eingreift weiß ich nicht. Wenn das ganze aber eh schon nah am Limit läuft, könnte das zum Problem werden.

    Oder du testest einen anderen Browser, muss ja nichts von der breiten Masse sein. Chrome(-ium) und Firefox sind ja nicht gerade als sparsam bekannt...

Jetzt mitmachen!

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