Systemauslastung RasPi4

Moin! Mein Raspi4 mit 1GB RAM und symcon 9.0 krebst leider ziemlich vor sich hin, obwohl eigentlich gar nicht so viele Threads aktiv scheinen:

allerdings erschreckt mich die Prozessliste:

das sieht ja nicht so gesund aus. Es swapt wohl ohne Ende - und das auch sofort nach einem Reboot. Ich verstehe auch nnicht, dass da laut Prozessmonitor (die Liste ist länger) 200 Threads in Symcon belegt sind. In Symcon merke ich das an erhöhten Antwortzeiten.

Hab leider keinen Ansatz, bevor ich einfach nen neuen Raspi mit 8GB besorge - mag mir da jemand helfen, ob es einfach nur ein Speicherengpass ist? Der RasPi ist übrigens per USB3 an einer SSD angeschlossen, von der er auch bootet. Also keine SD Karte drin.

Das ist auch schön bunt (falls euch das noch mehr Infos bringt, ich erkenne daraus nicht viel mehr):

mir ist klar, dass 1GB zu wenig sind - das soll auch nicht so bleiben - allerdings kann ich mir nicht vorstellen, dass die ca. 200 Threads von symcon darin ihre Ursache haben.

Vielen Dank,

Tom

Also ich weiß nicht was du machst aber du knechtest das Ding schon ganz schön :slight_smile:

Selbst bei den größeren Systemen bin ich in der Thread-Anzeige in der Konsole bei <10 pro Balken.
Zu Hause habe ich einen Raspberry 3b+ und der langweilt sich mit Symcon total.
Symcon + Pihole bei 316MB RAM (von 1GB) und eine Prozessorlast von <0,3

Mit dem Reiter „PHP-Informationen“ kannst du ja sehen welche Skripe/Module aktiv sind. Ich denke mal dass hier auch welche bisschen über das Ziel hinaus schießen.

Der Reiter Php-Informationen zeigt oben ja eher einen dezenten Zustand mit ca 10-20 php Threads. Mich irritieren die eher 200 symcon Threads beim htop

Ich denke mal das Problem sind lange Script-Laufzeiten.
Sleep oder extern Abfragen die langsam sind.
Auch das “warten” in einem Ablaufplan ist meines Wissens intern nur ein Sleep und blockiert den Thread bis er abgeschlossen ist.

20 Scripte pro Sekunde sind gar kein Ding .. wenn die aber jeweils 10 Sekunden Laufzeit haben bist du bei deinen 200 Threads.

Okay, d.h. muss ich das so verstehen: In php-Informationen sehe ich nicht, welche Threads gerade laufen, sondern welche gestartet wurden? Und in htop erscheinen dann 200, weil alle 20 Threads mind 10s brauchen?

Das erscheint mir aber nicht schlüssig. Im Fenster “php Informationen” flitzen die so schnell durch, dass ich kaum etwas sehe.

Aber irgendwie so etwas wird es wohl sein. Ich frage mich eher, wie ich diesen Blockaden auf die Spur komme.

gut das würde meiner Theorie ja dann widersprechen.

Was hast du den bei den Spezialschalter an Anzahl PHP Threads eingestellt?
Imho braucht jeder Thread RAM. Darum sollte man dort vorsichtig Änderungen vornehmen.

Eigl. nix besonderes:

Das wirkt evtl. nach einem Speicherleck. Welche Systeme nutzt du in Symcon? Hast du evtl. das neue Matter in Benutzung?

paresy

Nein - aber aber Z2M, Sonos, Shelly, Tasmota, Denon, FritzBox, Home Connect, Miele@Home, IPSView … um nur ein paar zu nennen. Wenn du das meinst.

Ich muss mal mehr RAM besorgen, es sind zwar 2GB (nicht wie oben beschrieben 1GB), aber das scheint zu wenig.

Ich habe auch ein RPi 4 mit 2GB (3 Stück) und die dümpeln alle bei 1-10% CPU Load.

Habe keine Sonos, Miele und IPSView, sonst auch gen ganzen Zoo

Gruß Heiko

Mist, hab den Raspi ausgetauscht, auch die SSD und den USB3-SATA Adapter auch. Das Swappen ist weg, aber symcon läuft immer noch sehr zäh.

Es dauert auch das Speichern eines Scripts sehr lange (1-2min), und wenn ich ein Script in der Konsole öffne, ist erst nach einiger Zeit die Farbkodierung da.

Reboot hilft für etwa 24h bzw. so lange, bis ich irgendetwas am System bearbeite.

Symcon belegt scheinbar 1GB RAM und etwa 50-70% CPU Load

Wie finde ich bloß den Flaschenhals? Kann es MQTT sein? Habe da inzwischen 270 MQTT-Instanzen dran.

Danke,

Tom

Klassicher Kandidat könnten z.B. file-handle sein, also in Scripten z.B. fopen ohne fclose, dann baut sich mit der Zeit etwas auf, was nach Reboots weg ist.

Oder falls du zum MQTT Schreiben

    $mqtt = new Bluerhinos\phpMQTT($server, $port, $client_id);
...
    $mqtt->close();

nutzt und das close fehlt.

1 „Gefällt mir“

Mit etwas Aufwand könntest du dir dies hier ansehen:

Mich würde Interessieren, ob der Speicher Verbrauch dauerhaft steigt?

Aktuell klingt es ein wenig so, als wenn die CPU Auslastung direkt passiert und dann immer so bleibt?

Du könntest zum Test ja mal den „modules“ Ordner in /var/lib/symcon umbenennen und schauen, ob das Problem ohne PHP Module auch vorhanden ist.

paresy

Hallo Michael,

mittlerweile bin ich beim 8GB Modell, damit ist das Swappen weg - allerdings merke ich im Betrieb kaum Unterschied. Ich hatte schon probeweise Module rausgeschmissen, was bis gestern auch nichts brachte.

Da durch die Trägheit Sonos eigetl. unbedienbar war (Reaktionszeiten teilweise im Minutenbereich,) habe ich Sonos rausgeschmissen - seitdem ist das System flüssig. Das lass ich jetzt mal ein paar Tage so laufen.

Speicher/CPU-Konstanz: Ich habe das Gefühl, es ist halbwegs konstant. Derzeit immer so um 1GB RAM±200MB.