NEWS
IOBroker auf RasPi 4 wird immer lahmer
-
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
31095 iobroker 20 0 344876 260568 28900 R 125,7 6,7 12856:31 node 31975 iobroker 20 0 283692 166688 27368 S 37,6 4,3 6687:31 node
Die beiden laufen etwas aus dem Ruder.
Mit aktuelleren Versionen von nodejs (ich vermute da läuft noch node12) sieht man auch in top wieder mehr. Inhtop
sind die aber besser zu sehen.
-
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
31095 iobroker 20 0 344876 260568 28900 R 125,7 6,7 12856:31 node
htop würde den Namen zur PID 31095 zeigen
-
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
471 iobroker 20 0 57188 16044 7168 S 0,3 0,4 15:41.44 python3.7
Nur mal so, welcher iobroker Adapter benötigt denn Python ?
-
@wendy2702 said in IOBroker auf RasPi 4 wird immer lahmer:
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
471 iobroker 20 0 57188 16044 7168 S 0,3 0,4 15:41.44 python3.7
Nur mal so, welcher iobroker Adapter benötigt denn Python ?
Ich schätze das ist ESPHome...so als Laie gesagt
-
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
MiB Swap: 100,0 total, 38,3 free, 61,7 used. 2089,4 avail Mem
aber dir ist auch dein RAM ist schon mal ausgegangen
-
@homoran
Mit HTOP kann ich den Text nicht aus Putty raus kopieren... Mal ein Screenshot?
Ich vermute js-controller und simple-api produzieren viel CPU load?
Die simple-api könnte schon sein, weil ich ein paar ESP8266 hab, die ihre Daten via API (html) an den IOB übergeben.
Kann man den JS-Controller noch genauer untersuchen? Also was genau die Load verursacht?
-
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
Mal ein Screenshot?
leider die Antwort auf die OT-Frage nach python abgeschnitten
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
Ich vermute js-controller und simple-api produzieren viel CPU load?
naja, es ist ein Thread vom controller - aber warum so extrem?
-
-
@bernd33-1 Danke!
@wendy2702
ist tatsächlich esp-home -
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
Kann man den JS-Controller noch genauer untersuchen? Also was genau die Load verursacht?
Wenn simple-api wie in deinem letzten Post ~50% CPU-Last verursacht, scheint da einiges an States drüber zu gehen. Die werden dann auch alle noch vom Controller verarbeitet. Wie viele das sind, solltest du in der Instanzen-Liste im Admin sehen, wenn du den Expertenmodus anmachst.
-
Allgemein mal: Bin schon beeindruckt wie schnell, intensiv und Lösungsorientiert hier geholfen wird! Danke!
@alcalzone
Meinst du das?
-
@bernd33-1 Ja das meinte ich. Scheint mir jetzt aber nicht besonders viel zu sein. Frage mich wo da 50% Last herkommen.
-
Ok, wenn ich den Simple-API Adapter stoppe, dann komm ich noch auf eine maximale CPU Last von 30%
Hm, kann man bei der Simple-API "unter die Haube" schauen?
-
Fast 120MB RAM für die simple-api?! Bei mir belegt die ~36MB...
-
@bernd33-1 Vielleicht mal das loggen für Simple Api auf Debug stellen!?
-
Gute Idee. Also, über die Simple-API kommen von 3 ESP8266 Messdaten an den IOBroker. So alle paar Sekunden. Und das scheint den IOBroker tatsächlich ans Limit zu bringen.
Hm, jetzt ist guter Rat teuer
2022-03-14 16:05:32.868 debug Add to Response-Get: {"id":"javascript.0.SolarThermie.CollectorTemp","val":60.75,"value":60.75} simple-api.0 2022-03-14 16:05:32.862 debug Add to Response-Get: {"id":"javascript.0.Photovoltaik.Watt","val":"281.70","value":"281.70"} simple-api.0 2022-03-14 16:05:32.862 debug Add to Response-Get: {"id":"javascript.0.Photovoltaik.Volt","val":"241.00","value":"241.00"} simple-api.0 2022-03-14 16:05:32.859 debug Add to Response-Get: {"id":"javascript.0.Photovoltaik.Frequenz","val":"50.00","value":"50.00"} simple-api.0 2022-03-14 16:05:32.859 debug Add to Response-Get: {"id":"javascript.0.Photovoltaik.Energy","val":1591.16,"value":1591.16} simple-api.0 2022-03-14 16:05:32.858 debug Add to Response-Get: {"id":"javascript.0.Photovoltaik.Ampere","val":1.18,"value":1.18} simple-api.0 2022-03-14 16:05:32.843 debug GET-setBulk for id=javascript.0.SolarThermie.CollectorTemp, oid=CollectorTempused=CollectorTemp, value=60.75 simple-api.0 2022-03-14 16:05:32.482 debug GET-setBulk for id=javascript.0.Photovoltaik.Watt, oid=Wattused=Watt, value=281.70 simple-api.0 2022-03-14 16:05:32.007 debug GET-setBulk for id=javascript.0.Photovoltaik.Volt, oid=Voltused=Volt, value=241.00 simple-api.0 2022-03-14 16:05:31.610 debug GET-setBulk for id=javascript.0.Photovoltaik.Frequenz, oid=Frequenzused=Frequenz, value=50.00 simple-api.0 2022-03-14 16:05:30.803 debug GET-setBulk for id=javascript.0.Photovoltaik.Energy, oid=Energyused=Energy, value=1591.16 simple-api.0 2022-03-14 16:05:29.348 debug GET-setBulk for id=javascript.0.Photovoltaik.Ampere, oid=Ampereused=Ampere, value=1.18 simple-api.0 2022-03-14 16:05:25.787 debug Values: {"Ampere":"1.18","Energy":"1591.16","Frequenz":"50.00","Volt":"241.00","Watt":"281.70","CollectorTemp":"60.75","user":"system.user.admin"} simple-api.0 2022-03-14 16:05:24.771 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Stpdnrelais","val":0,"value":0} simple-api.0 2022-03-14 16:05:24.771 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Undervoltage","val":0,"value":0} simple-api.0 2022-03-14 16:05:24.770 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Stpdntemp","val":18.94,"value":18.94} simple-api.0 2022-03-14 16:05:24.769 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Celldif","val":"0.010","value":"0.010"} simple-api.0 2022-03-14 16:05:24.769 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Cellvoltage7","val":3.939,"value":3.939} simple-api.0 2022-03-14 16:05:24.767 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Cellvoltage6","val":3.933,"value":3.933} simple-api.0 2022-03-14 16:05:24.765 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Cellvoltage5","val":3.938,"value":3.938} simple-api.0 2022-03-14 16:05:24.124 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Cellvoltage4","val":3.939,"value":3.939} simple-api.0 2022-03-14 16:05:24.124 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Cellvoltage3","val":3.938,"value":3.938} simple-api.0 2022-03-14 16:05:24.123 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Cellvoltage2","val":"3.930","value":"3.930"} simple-api.0 2022-03-14 16:05:24.122 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Cellvoltage1","val":"3.940","value":"3.940"} simple-api.0 2022-03-14 16:05:24.122 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Packcurrent","val":0.62,"value":0.62} simple-api.0 2022-03-14 16:05:24.115 debug Add to Response-Get: {"id":"javascript.0.Powerbank.Packvoltage","val":27.55,"value":27.55} simple-api.0 2022-03-14 16:05:23.047 debug GET-setBulk for id=javascript.0.Powerbank.Stpdnrelais, oid=Stpdnrelaisused=javascript.0.Powerbank.Stpdnrelais, value=0 simple-api.0 2022-03-14 16:05:23.046 debug GET-setBulk for id=javascript.0.Powerbank.Undervoltage, oid=Undervoltageused=javascript.0.Powerbank.Undervoltage, value=0 simple-api.0 2022-03-14 16:05:23.045 debug GET-setBulk for id=javascript.0.Powerbank.Stpdntemp, oid=Stpdntempused=javascript.0.Powerbank.Stpdntemp, value=18.94 simple-api.0 2022-03-14 16:05:23.044 debug GET-setBulk for id=javascript.0.Powerbank.Celldif, oid=Celldifused=javascript.0.Powerbank.Celldif, value=0.010 simple-api.0 2022-03-14 16:05:23.044 debug GET-setBulk for id=javascript.0.Powerbank.Cellvoltage7, oid=Cellvoltage7used=javascript.0.Powerbank.Cellvoltage7, value=3.939 simple-api.0 2022-03-14 16:05:23.043 debug GET-setBulk for id=javascript.0.Powerbank.Cellvoltage6, oid=Cellvoltage6used=javascript.0.Powerbank.Cellvoltage6, value=3.933 simple-api.0 2022-03-14 16:05:23.034 debug GET-setBulk for id=javascript.0.Powerbank.Cellvoltage5, oid=Cellvoltage5used=javascript.0.Powerbank.Cellvoltage5, value=3.938 simple-api.0 2022-03-14 16:05:23.034 debug GET-setBulk for id=javascript.0.Powerbank.Cellvoltage4, oid=Cellvoltage4used=javascript.0.Powerbank.Cellvoltage4, value=3.939 simple-api.0 2022-03-14 16:05:23.034 debug GET-setBulk for id=javascript.0.Powerbank.Cellvoltage3, oid=Cellvoltage3used=javascript.0.Powerbank.Cellvoltage3, value=3.938 simple-api.0 2022-03-14 16:05:23.033 debug GET-setBulk for id=javascript.0.Powerbank.Cellvoltage2, oid=Cellvoltage2used=javascript.0.Powerbank.Cellvoltage2, value=3.930 simple-api.0 2022-03-14 16:05:23.033 debug GET-setBulk for id=javascript.0.Powerbank.Cellvoltage1, oid=Cellvoltage1used=javascript.0.Powerbank.Cellvoltage1, value=3.940 simple-api.0 2022-03-14 16:05:23.032 debug GET-setBulk for id=javascript.0.Powerbank.Packcurrent, oid=Packcurrentused=javascript.0.Powerbank.Packcurrent, value=0.62 simple-api.0 2022-03-14 16:05:23.032 debug GET-setBulk for id=javascript.0.Powerbank.Packvoltage, oid=Packvoltageused=javascript.0.Powerbank.Packvoltage, value=27.55 simple-api.0 2022-03-14 16:05:23.024 debug Values: {"javascript.0.Powerbank.Packvoltage":"27.55","javascript.0.Powerbank.Packcurrent":"0.62","javascript.0.Powerbank.Cellvoltage1":"3.940","javascript.0.Powerbank.Cellvoltage2":"3.930","javascript.0.Powerbank.Cellvoltage3":"3.938","javascript.0.Powerbank.Cellvoltage4":"3
-
@bernd33-1 Hm,
vielleicht überlegen welche der Daten wirklich wichtig sind und in dieser Häufigkeit abgefragt werden müssen. Auch mal nacht alternativen zur Datenerfassung suchen.
-
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
So alle paar Sekunden
das ist stark untertrieben. Da sind Millisekundenabstände.
Alleine 9 Werte in der 32. Sekunde -
@homoran said in IOBroker auf RasPi 4 wird immer lahmer:
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
So alle paar Sekunden
das ist stark untertrieben. Da sind Millisekundenabstände.
Alleine 9 Werte in der 32. SekundeJain.... das ist der Simple-API SetBulk transfer. Sollte laut Doku legitim sein. https://github.com/ioBroker/ioBroker.simple-api
@wendy2702 jaja...da muss was anderes her. Vermutlich wird es auf ESPHome und MQTT rauslaufen.
-
Ich denke mal, dass damit mein ursprüngliches Problem geöst ist und keine Datenbank zur Performance Verbesserung nötig ist.
Vielen lieben Dank an alle, die so fix geholfen haben!