NEWS
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 ?
-
@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!
-
@bernd33-1 sagte in IOBroker auf RasPi 4 wird immer lahmer:
keine Datenbank zur Performance Verbesserung nötig ist.
as I told
-
Ist jetzt vielleicht nur noch philosophisch aber es erstaunt mich schon etwas, dass die Simple-API kurzfristig so viel CPU-Leistung verlangt, wenn man Daten übergibt. Klar, von meiner PV-Anlage kommen da alle 20 Sekunden 13 Werte aber so viel ist das nun ja auch nicht...... oder?
War halt für die Arduino's immer ziemlich praktisch. Über die Simple-API kann man ohne großen Aufwand mit einem Arduino Werte an den IOBroker übergeben.