NEWS
iobroker.js-con 100% cpu
-
@marc-berg
Das könnte gut sein. Ich werd mal meine Scripts (Python und BASH) überprüfen. -
@marc-berg
Du hast mich auf die richtige Fährte gebracht. Wenn ich die MQTT Server IP ändere (ins Leere), sieht top so aus: -
@spicer sagte in iobroker.js-con 100% cpu:
Wenn ich die MQTT Server IP ändere (ins Leere)
@marc-berg sagte in iobroker.js-con 100% cpu:
Hast du das Loglevel der MQTT.1 Instanz mal auf "debug" gestellt?
-
@marc-berg
Ja, aber da kann so viel Output, dass top 300% CPU anzeigte ^^ -
@spicer sagte in iobroker.js-con 100% cpu:
@marc-berg
Ja, aber da kann so viel Output, dass top 300% CPU anzeigte ^^Das sagt aber schon alles. Ich bleibe dabei: eine Schleife.
-
@marc-berg
Jo, das glaube ich Dir.
Muss nun suchen
Ist ziemlich viel. -
@spicer sagte in iobroker.js-con 100% cpu:
Muss nun suchen
Aber wenn du das Debug-Log kurz anmachst, dann wirst du sicher Hinweise sehen.
-
Ist zwar jetzt etwas OT hier, aber hier einer der wirklichen Gründe, warum man keine GUI auf einem Server laufen hat:
https://www.phoronix.com/news/X.Org-CVE-2024-9632
Was nicht läuft und am besten auch erst gar nicht installiert ist kann auch nicht anfällig für eine 'Privilege Escalation' sein.
-
Hab das Problem gefunden.
Alle 30 Sekunden oder teilweise sogar 10 Sekunden wurde der MQTT Server mit sub/pub's gelöchert.
Wenn das geschieht, geht die CPU für ca 30 Sekunden auf 100%.
Das war natürlich zuviel.
Habe jetzt das Intervall (ausser Regen und Wind Warnung) auf mind 2 Minuten gesetzt.
So beruhigt sich das Ganze immer für ca 90 Sekunden. -
Konnte die Situation weiter entschärfen, in dem ich alles MQTT auf dem RPI1, welches für die Dachfenster und Rollo Steuerung zuständig ist, sammle.
Sende dann nur alle paar Minuten MQTT Daten an das RPI5.
Einzig die Windgeschwindigkeit sende ich jede minute (das ist ein String von 3-4 Zeichen).
Es fällt auf, dass der ioBroker Adapter MQTT auch nur bei diesem empfangenen MQTT Datensatz die CPU für fast 30 Sekunden auf 100-106% (laut top) treibt.
Es sieht so aus, dass da der Adapter auch "etwas komisches" macht. Wenn ihr mich fragt, mit dem Adapter stimmt was nicht.
So viel Rechenleistung wegen einem einzigen Subscribe (Datenempfang) von zBsp "0.1".
Ein Loop kann es nicht sein, weil das Gleiche geschieht, wenn ich die Instanz Javascript stoppe.Befriedigend ist die jetzige Lösung bzw Verhalten nicht.
PS:
Beim RPI1 zeigt top unter 1% Auslastung, obschon da jede Sekunde Mosquitto Daten reinschneien.
Dieses hat einen Bruchteil der Rechenleistung des RPI5!
Wenn ich auf dem RPI1 top ausführe, ist meistens top der belastendste Task ^^ -
Bitte testet doch mal selber und meldet es gegebenenfalls dem Dev.
DankeEs könnte ja auch sein, dass das nur bei Raspberry OS so ist und nicht bei Raspbian.
deCONZ zBsp hatte genau dieses Problem!
Eine if Abfrage ging auf "raspbian" und nicht auf "debian", was Raspberry OS heute ausgibt. -
@spicer said in iobroker.js-con 100% cpu:
Bitte testet doch mal selber und meldet es gegebenenfalls dem Dev.
DankeEs könnte ja auch sein, dass das nur bei Raspberry OS so ist und nicht bei Raspbian.
deCONZ zBsp hatte genau dieses Problem!
Eine if Abfrage ging auf "raspbian" und nicht auf "debian", was Raspberry OS heute ausgibt.Dass ein IF nicht geht klingt mal komisch. Wahrscheinlich meinst du eher, dass eine Abfrage eines APIs andere Werte geliefert hat.
EGAL:
Bitte gib doch bei allen solchen Problemmeldungen gesammelt die Versionsinfos an. Ich kann aus deinen letzen Beiträgen weder die Adapetr version noch js.controller, node, os etc herauslesen.Und natürlich stellt sich die Frage was der Adapetr im DEBUG bzw. SILLY Mode loggt wenn er so ausgelastet ist / wird.
-
@mcm1957
mqtt: v6.1.1Plattform: linux Betriebssystem: linux Architektur: arm64 CPUs: 4 Geschwindigkeit: 2400 MHz Modell: Cortex-A76 RAM: 7.8 GB System-Betriebszeit: 3 T. 15:40:26 Node.js: v20.18.0 time: 1730545435253 timeOffset: -60 NPM: 10.8.2 Adapter-Anzahl: 545 Datenträgergröße: 57.9 GB Freier Festplattenspeicher: 49.3 GB Aktive Instanzen: 10 Pfad: /opt/iobroker/ Betriebszeit: 3 T. 16:14:09 aktiv: true
Reicht das?
-
@spicer
Der Output von "Debug" ist unglaublich gross. Das kann ich nicht posten.
Da müsstest schon per Teamviewer oder Anydesk schauen hier.Ey, ich habe nicht nur 2-3 Adapter/Geräte!
-
@spicer sagte in iobroker.js-con 100% cpu:
Der Output von "Debug" ist unglaublich gross.
Das deutet schon darauf hin, dass eine Fehlkonfiguration vorliegen könnte.
Hast du vielleicht eine Schleife konfiguriert?
z.B. Publishst du selber Werte sobald du sie bekommst?Dann zeig mal einen relevanten Ausschnitt, der hier noch reinpasst
-
@spicer said in iobroker.js-con 100% cpu:
@spicer
Der Output von "Debug" ist unglaublich gross. Das kann ich nicht posten.
Da müsstest schon per Teamviewer oder Anydesk schauen hier.Ey, ich habe nicht nur 2-3 Adapter/Geräte!
Du hats doch oben geschrieben dass due nur die Windstärke öfter aktualisisrerts und da steigt die Last an. Das widerspricht der jetzigen Aussage dass da doch viele Geräte was schicken.... Wenn wirklich NUR ein Wert kommt, kann nicht so ein riesen Log entstehen - außer der eine Wert löst zig Reaktionen aus ...
-
@homoran
Nein, hab keine Schleife.
Hab erst gestern den ganzen Mosquitto Kreis neu konfiguriert.
DEBUG kommen so viele Posts (keine Warnungen oder Alarme), das willst Du gar nicht wissen!
Versuche den Log dann zu posten. -
@spicer sagte in iobroker.js-con 100% cpu:
DEBUG kommen so viele Posts (keine Warnungen oder Alarme)
Natürlich, dafür ist debug ja da
@spicer sagte in iobroker.js-con 100% cpu:
das willst Du gar nicht wissen!
doch!
daraus kann man dann ja sehen, was da so schnell triggert.(Natürlich nach mqtt gefiltert)
-
@homoran
Mit debug bekomme ich Tausende:mqtt.1 2024-11-02 12:43:00.657 debug stateChange mqtt.1.info.clients.mosqsub|19238-Dachrollo: {"val":false,"ack":true,"ts":1730547780656,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730083491295} mqtt.1 2024-11-02 12:43:00.656 debug stateChange mqtt.1.info.clients.mosqsub|12126-Dachrollo: {"val":false,"ack":true,"ts":1730547780655,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730232875058} mqtt.1 2024-11-02 12:43:00.654 debug stateChange mqtt.1.info.clients.mosqsub|12442-Dachrollo: {"val":false,"ack":true,"ts":1730547780653,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730233184883} mqtt.1 2024-11-02 12:43:00.652 debug stateChange mqtt.1.info.clients.mosqsub|12072-Dachrollo: {"val":false,"ack":true,"ts":1730547780651,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730232844483} mqtt.1 2024-11-02 12:43:00.643 debug stateChange mqtt.1.info.clients.mosqsub|19176-Dachrollo: {"val":false,"ack":true,"ts":1730547780642,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730083430513} mqtt.1 2024-11-02 12:43:00.641 debug stateChange mqtt.1.info.clients.mosqsub|7642-Dachrollos: {"val":false,"ack":true,"ts":1730547780641,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730044408190} mqtt.1 2024-11-02 12:43:00.639 debug stateChange mqtt.1.info.clients.mosqsub|19174-Dachrollo: {"val":false,"ack":true,"ts":1730547780638,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1730083430386} mqtt.1 2024-11-02 12:43:00.635 debug stateChange mqtt.1.info.clients.mosqsub|12385-Dachrollo:
MOD-EDIT: Code in code-tags gesetzt!
ich verstehe nicht, weil ich nur alle 2 Minuten etwas publishe an den iob server.
-
Willst mal per Teamviewer vorbei kommen?
Ich öffne Dir vorher alles notwendige.