Pi immer wieder extrem langsam - falsche SD-Karte?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • ich weiß nicht so ganz, was ich mit den Befehlen da jetzt erreicht habe, aber die letzte Zeile blieb ewig so stehen. Ich drückte dann Enter und es kam

    Code
    root@pi:~# echo b > /proc/sysrq-trigger
    client_loop: send disconnect: Broken pipe

    und dann flog ich aus dem SSH.

  • Pi immer wieder extrem langsam - falsche SD-Karte?? Schau mal ob du hier fündig wirst!

  • ich weiß nicht so ganz, was ich mit den Befehlen da jetzt erreicht habe, ...

    sysrq-trigger solltest Du so nicht benutzen. Siehe z. B.: https://wiki.ubuntuusers.de/Magic_SysRQ/#B…r-Kommandozeile

    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

  • Bevor ich jetzt ein Befehl nach dem anderen ins Terminal haue oder zu wissen, was ich da tue,... was hältst du von folgender Idee:

    Liegt das Problem vllt. bei Docker?

    Denn was ich mache, wenn ich den Pi neu aufsetze:

    - Backup von /opt (Hier drin sind alle Volumes, die ich mit den Containern Mappe) und von /home/pi (Hier ist im Wesentlichen nur meine docker-compose.yml

    - das OS auf einer neuen SD-Karte installieren und ssh aktivieren

    - booten + apt update und upgrade

    - In raspi-config Serial anschalten für mein Zigbee-Modul

    - curl -fsSL https://get.docker.com -o get-docker.sh

    - sudo sh get-docker.sh

    - echo 'dtoverlay=pi3-miniuart-bt' | sudo tee -a /boot/config.txt

    - sudo usermod -aG docker pi

    Dann nur noch für Docker Compose

    Code
    sudo apt-get install -y libffi-dev libssl-dev
    sudo apt-get install -y python3 python3-pip
    sudo apt-get remove python-configparser
    sudo pip3 -v install docker-compose

    Dann spiele ich mein /opt und /home/pi wieder ein, starte Docker und alles läuft wieder vorher, nur schnell.

    Dann dauert es ca. ein halbes Jahr und alles ist extrem langsam.

    Daher meine Vermutung: In docker staut sich was an?

  • Dann dauert es ca. ein halbes Jahr und alles ist extrem langsam.

    Wenn dein PI wieder extrem langsam ist, schau mal nach, ob es evtl. zombie- und/oder 'uninterruptible sleep'-Prozesse gibt:

    Code
    ps aux | grep Z
    ps wuax | grep defunct
    ps aux | grep D

    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

  • Aktuell ist er ja extrem langsam.

    D. h. Du kommst nicht auf deinen PI und/oder Du bekommst keine Ausgabe mit "ps aux"?

    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

  • Code
    ps aux | grep Z
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1141  0.4  2.1 119756 19168 ?        Dl   Mär28   3:58 /usr/bin/deCONZ --auto-connect=1 --dbg-info=1 --dbg-aps=0 --dbg-zcl=0 --dbg-zdp=0 --dbg-otau=0 --dbg-error=0 --http-port=90 --ws-port=8443 -platform minimal
    root     13176  0.1  0.0      0     0 ?        Z    09:04   0:00 [run-parts] <defunct>
    root     13189  0.0  0.0      0     0 ?        Z    09:04   0:00 [run-parts] <defunct>
    pi       13196  1.0  0.0   7472    88 pts/0    D+   09:04   0:00 grep --color=auto Z

    D. h. Du kommst nicht auf deinen PI und/oder Du bekommst keine Ausgabe mit "ps aux"?

    Doch ich komme drauf, nur die Ausgabe ist eben extreeeeem langsam. Ich schreibe einen dieser ps Befehle, jeder Buchstabe dauert einige Sekunden bis er kommt und das ausführen mehrere Minuten

    Code
    ps wuax | grep defunct
    pi       13277  0.1  0.0   7472   472 pts/0    S+   09:15   0:00 grep --color=auto defunct
    Code
    ps aux | grep D
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root        72  0.0  0.0      0     0 ?        I<   Mär28   0:00 [DWC Notificatio]
    root       473  0.0  0.0  12376   668 ?        Ss   Mär28   0:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
    pi       13307  2.0  0.0   7472   460 pts/0    S+   09:15   0:00 grep --color=auto D

    Peter0311 top im Anhang

  • Code
    root      1141  0.4  2.1 119756 19168 ?        Dl   Mär28   3:58 /usr/bin/deCONZ --auto-connect=1 --dbg-info=1 --dbg-aps=0 --dbg-zcl=0 --dbg-zdp=0 --dbg-otau=0 --dbg-error=0 --http-port=90 --ws-port=8443 -platform minimal
    root     13176  0.1  0.0      0     0 ?        Z    09:04   0:00 [run-parts] <defunct>
    root     13189  0.0  0.0      0     0 ?        Z    09:04   0:00 [run-parts] <defunct>

    Doch ich komme drauf, nur die Ausgabe ist eben extreeeeem langsam. ...

    Versuch mal ohne "--dbg-info=1" oder mit "--dbg-info=0" und kommentiere in der /etc/crontab alle Zeilen mit run-parts:

    Code
    #17 *    * * *    root    cd / && run-parts --report /etc/cron.hourly
    #25 6    * * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
    #47 6    * * 7    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
    #52 6    1 * *    root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

    Danach rebooten.

    Wo bzw. in welche Datei schreibt der deconz-Dienst, seine debug-Infos?

    EDIT:

    Code
    1660 be/4 root        160.00 K   6832.00 K  0.00 %  2.00 % python3 -m homeassistant --config /config

    In welche Datei bzw. in welches Verzeichnis schreibt der Homeasistent?

    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

    Einmal editiert, zuletzt von rpi444 (29. März 2022 um 10:09)

    • Hilfreichste Antwort

    Last von us,sy,ni passen nicht zu idle und wa ist viel zu hoch. Wobei dein Screenshot ja nur eine Momentaufnahme ist. Das müsste man mal 1-2 Minuten beobachten.

    Mein (erstes) Kurzfazit: Der Pi grabbelt zu viel auf der SD-Karte rum und verhaspelt sich (zu viele Schreib- und Lesevorgänge, Karte zu langsam). Entweder irgendwas schreibt und liest dauernd auf der Karte, das Dateisystem ist beschädigt oder die Karte hat einen Defekt.

    Ich würde daher die Karte extern überprüfen.

    By the way: Die Sandisk Ultra ist zwar besser als Noname, dennoch keine wirklich gute Karte. Eine bessere Karte wäre z.B. eine Sandisk Extreme (Pro) oder eine Samsung Evo+.

    Falls die Karte / Dateisystem ok sind:

    Schalte doch mal die Dienste ab, die nicht nötig sind. Z.B. Docker, DeConz, Python, Smarthome, etc. und schaue dann wie sich das System verhält. Falls ansprechbar und ok, beobachte den wa-Wert und schalte stückchenweise die Dienste wieder an. So findest du vielleicht den Übeltäter, der die Last auf die Karte verursacht. Ein Blick in /var/log kann auch nicht schaden um zu sehen, ob da ein Log unanständig schnell anwächst bzw. sehr groß ist.

    Viele Grüße,

    Peter

  • Versuch mal USB-Sticks. Ich betreibe meinen pihole im 7/24 Betrieb seit fast 1 Jahr ohne Probleme. Vorher hatte ich gelegentlich stockende Anzeigen bei Verbindung über Web-Oberfläche des pihole. Lag möglicherweise an SD Karte - aber die ist inzwischen nur noch als "Ersatz" am pihole-Raspi per Klebestreifen befestigt. (Notfall boot - aber seit Ewigkeiten ungebraucht)

  • Ich weiß nicht, wieso ich da noch nicht selbst drauf bekommen bin, aber wenn ich alle docker container stoppe, ist der Pi normal schnell.

    Ich werde jetzt versuchen, einen dienst nach dem anderen hoch zu fahren.

    "us,sy,ni passen nicht zu idle und wa ist viel zu hoch" das sagt mir leider gar nichts, aber ich kann mal schauen, wie sich der der wa wert verändert. bei gestoppten Containern sieht es (konstant) so aus:

    %CPU(s): 0,2 us, 0,1 sy, 0,0 ni, 99,8 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st

    Nach dem Start von Deconz:

    %CPU(s): 0,5 us, 0,2 sy, 0,0 ni, 99,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st

    Nach dem Start von Homebridge:

    %CPU(s): 1,5 us, 0,2 sy, 0,0 ni, 98,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st

    Nach dem Start von diyHue

    %CPU(s): 0,4 us, 0,5 sy, 0,0 ni, 99,1 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st

    Nach dem Start von home-assistant:

    SLOW

    Okay damit wäre der Übeltäter wohl gefunden. Jetzt muss ich nur noch raus finden, was da nicht läuft, wobei ich da echt überfragt bin.

    Zu den SD-Karten: Eine Extreme und Evo+ hatte ich auch schon im Einsatz und hatte dort das gleiche Verhalten.

  • By the way: Die Sandisk Ultra ist zwar besser als Noname, dennoch keine wirklich gute Karte. Eine bessere Karte wäre z.B. eine Sandisk Extreme (Pro) oder eine Samsung Evo+

    Peter0311 Das interessiert mich: Inwiefern ist die Ultra nicht wirklich gut? Bzw. die Extreme besser? Rein von der Geschwindigkeit oder gibt es noch andere Kriterien hier in Zusammenhang mit dem Raspi?

  • wa

    wa zeigt dir an, ob die CPU auf Daten zur Verarbeitung warten muss. Die CPU fordert also Daten an, das Laufwerk (z.B. SD-Karte, HDD oder SSD) ist mit anderen Dingen beschäftigt und lässt die CPU warten. Das wiederum spiegelt sich im wa-Wert wieder. Im besten Fall steht der bei 0. Manchmal geht der kurz etwas hoch, sollte sich aber in der Regel bei nahezu 0 wieder einpendeln.

    Hier mal was zum Einlesen:

    https://www.pc-erfahrung.de/linux/administ…nalysieren.html

    sowie hier für "top" direkt:

    https://wiki.ubuntuusers.de/top/

    Inwiefern ist die Ultra nicht wirklich gut? Bzw. die Extreme besser?

    Die Extreme liefert und reagiert schneller. Das ist aber nicht entscheidend, da für den normalen Betrieb auch die Ultra ausreicht.

    Mir sind aber Ultras einfach so gestorben. Eine Extreme nur ein einziges Mal, wobei da die Schuld bei einem Tool lag, welches ununterbrochen eine Fehlermeldung ins Log geschrieben hat. Das hat die Karte ca. 1,5 Wochen mitgemacht und dann war auch die Extreme tot.

    Inzwischen bin ich bei meinem Pi4 auf eine SSD (Samsung Evo Sata) mit USB-Adapter gewechselt. Das war die beste Entscheidung. Kostet relativ wenig und bringt viel (sau schnell im Zugriff, sowie knapp 300MB/s).

    Viele Grüße,

    Peter

  • Den "Tod" meiner anderen SD-Karten (bestimmt schon 4-5) hat mir ein Bekannter diagnostiziert. Immer dann, wenn es bei mir quasi "tot" war. Da meine aktuell ebenfalls tot-geglaubte SD-Karte wohl aber wieder fit ist, waren meine alten vllt. auch nie tot.

    Ich habe jetzt nochmal Home Assistant herunter gefahren und alles darin (Plugins, Automationen und Co) deaktiviert, was ich nicht zwingend für den Smart Home Betrieb benötige. Jetzt läuft alles sauber und schnell. So, wie ich es nach einer frischen Installation gewöhnt bin.

    Ich habe dabei auch die Logs von home assistant angeschaut und mir ist dabei aufgefallen, dass ein Dienst, den ich tatsächlich gar nicht benötige, halbsekündig warnings geschmissen hat. Vllt. war das ja auch schon das Problem. Habe ihn komplett gelöscht.

    Theoretisch wäre mich mich das Problem jetzt gelöst, nur zum sauberen Abschluss brauche ich nochmal ein wenig Hilfe:

    A) Swapping - soll ich das deaktiviert lassen, oder wieder auf default zurück setzen?

    B) gpu_mem - auf 128 lassen oder wieder zurück stellen?

    C) Soll ich das alles aus der /etc/sysctl.conf wieder raus löschen oder sind manche Einstellungen nützlich?

    Code
    vm.swappiness = 0
    vm.drop_caches = 3
    vm.dirty_ratio = 60
    vm.dirty_expire_centisecs = 9000
    vm.dirty_writeback_centisecs = 3000
    vm.vfs_cache_pressure = 50
    vm.min_free_kbytes = 131072

    D) Folgendes habe ich völlig naiv und ohne zu wissen, was ich tue, ins Terminal gehämmert. Sollte ich da wieder etwas rückgängig machen und wenn ja, wie?

    Code
    sudo -i  
    echo u > /proc/sysrq-trigger 
    echo s > /proc/sysrq-trigger 
    tune2fs -O ^has_journal /dev/mmcblk0p2  
    e2fsck -fy /dev/mmcblk0p2  
    echo s > /proc/sysrq-trigger 
    echo b > /proc/sysrq-trigger  (Hiernach folge Disconnect)
  • A) Swapping - soll ich das deaktiviert lassen, oder wieder auf default zurück setzen?

    B) gpu_mem - auf 128 lassen oder wieder zurück stellen?

    C) Soll ich das alles aus der /etc/sysctl.conf wieder raus löschen oder sind manche Einstellungen nützlich?

    Code
    vm.min_free_kbytes = 131072

    swapping kannst Du deaktiviert lassen, gpu_mem auf 128MB lassen und "vm.min_free_kbytes = 131072" kannst Du auch in der sysctl.conf lassen.

    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

  • swapping:

    Der Pi3 hat nur 1GB RAM. Ich persönlich würde Swap einschalten, swappiness ganz runter stellen und den Swap ab und zu mal checken. Wenn genug RAM da ist, nutzt der Pi den Swap wenig. Wenn der Swap voll ist (100MB) solltest du auf jeden Fall genauer schauen.

    RAM GPU:

    Wenn der Pi ohne Desktop läuft, kannst du den auf 16MB runterstellen (tiefer geht nicht). Mit Desktop fehlt mir die Erfahrung welcher Wert da richtig ist. Bei mir laufen alle Pis headless und der Zugriff erfolgt nur über SSH bzw. Weboberfläche der jeweiligen Tools.

    Viele Grüße,

    Peter

  • RAM GPU:

    Wenn der Pi ohne Desktop läuft, kannst du den auf 16MB runterstellen (tiefer geht nicht). Mit Desktop fehlt mir die Erfahrung welcher Wert da richtig ist. Bei mir laufen alle Pis headless und der Zugriff erfolgt nur über SSH bzw. Weboberfläche der jeweiligen Tools.

    BTW: Bei meinen PIs (auch headless) gibt es Probleme mit 16MB GPU RAM.

    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

Jetzt mitmachen!

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