NEWS
Raspberry Pi ein Kern komplett ausgelastet
-
Hallo zusammen,
Seit ein paar Wochen ist der ioBroker sehr langsam. Ich dachte erst das es daran liegt das ich von LAN auf WLAN gewechselt bin nach einem Umzug. Habe daraufhin einen WLAN Repeater gekauft und den Raspberry Pi dran mit LAN angeschlossen. Das ganze hat leider nichts gebracht. Der admin lädt nur sehr langsam bzw. eigentlich garnicht. Meistens zeigt er noch irgendeinen timeout an.
Ich habe nach der Recherche in diesem Forum mal alle Adapter deaktiviert und das Problem besteht immer noch. Natürlich ist auch ales auf den neuesten Stand.
Wenn ich mir htop ansehen ist mir aufgefallen das eigentlich fast immer ein Kern komplett mit dem js-controller ausgelastet ist. Das ist dohc nicht normal wenn nur der admin adapter läuft und sonst alles disabled ist.Stimmt irgendwas mit meine iobroker Installation nicht? Kann das an meinem Netzwerk aufbau liegen (hab keinen Zugriff auf den Router deshalb hängt der Raspberry mit LAN an einem Fritz WLAN Repeater)
Ich hoffe ihr könnt mir weiterhelfen da ich echt ein bisschen verzweifle. Eine komplette Neuinstallation hab ich noch nicht probiert, vielleicht hilft das noch was.
Mit freundlichen Grüßen
Smibser -
Auf den ersten Blick:
Da ist nodeJS krumm installiert.
Schau in meiner Signatur wie man das richtig macht.Und dann läuft da ein Desktop inkl. VNC-Server. Todsünde, ausschalten!
-
@thomas-braun said in Raspberry Pi ein Kern komplett ausgelastet:
Auf den ersten Blick:
Da ist nodeJS krumm installiert.
Schau in meiner Signatur wie man das richtig macht.Und dann läuft da ein Desktop inkl. VNC-Server. Todsünde, ausschalten!
Hab auch das OS mit Desktop. Finde die Möglichkeit der einfachen dateiverwaltung ala Explorer zu verlockend.
Warum sollte/darf man das nicht? -
@hausautomation-digital sagte in Raspberry Pi ein Kern komplett ausgelastet:
Warum sollte/darf man das nicht?
Weil unter anderem:
Frisst zu viel Ressourcen, macht alles komplexer, kann eher abstürzen, gibt mehr Möglichkeiten für Sicherheitslücken.Mit 2 GB RAM hast du da kein Bit an einen Desktop zu verschenken.
-
@thomas-braun said in Raspberry Pi ein Kern komplett ausgelastet:
@hausautomation-digital sagte in Raspberry Pi ein Kern komplett ausgelastet:
Warum sollte/darf man das nicht?
Weil unter anderem:
Frisst zu viel Ressourcen, macht alles komplexer, kann eher abstürzen, gibt mehr Möglichkeiten für Sicherheitslücken.Mit 2 GB RAM hast du da kein Bit an einen Desktop zu verschenken.
Hab Acht - aber nix zu verschenken. Danke!
-
Auf dem Screenshot von htop steht was von 1,83GB.
Wenn du wirklich 8 GB hast, dann ist auch da was krumm.8 GB melden sich so:
echad@chet:~ $ free -ht --mega total used free shared buff/cache available Mem: 7.9G 1.8G 5.0G 0.0K 1.0G 5.9G Swap: 0B 0B 0B Total: 7.9G 1.8G 5.0G
In htop:
-
hab den vncserver abgeschaltet und boote jetzt in die console.
node hatte ich irgendwie zwei verschiedenen versionen. node -v war 14.x, nodejs -v 10.x.
Habe jetzt nodejs neu installieren nach deiner Anleitung jetzt ist beides v14.x
Leider hat das nichts verändert, iobroker admin ist immer noch unbedienbar und immer noch ein Kern voll ausgelastet.
Vielleicht muss ich node mal komplett neu installieren? Vielleicht den iobroker neu installieren? Zur Not komplett das OS platt machen und neu installieren?Mit freundlichen Grüßen
Smibser -
@smibser
Wie ist denn jetzt die Situation bei node? -
@thomas-braun
node ist v14.18.0
nodejs ist v14.19.1
und der js-contoller von iobroker hat fast durchgehend 100% CPU Auslastung -
habe jetzt node mal komplett gelöscht und neu installiert. Jetzt kommt bei node -v und bei nodejs -v v14.19.1
Das Problem besteht aber immer noch -
sudo ln -s /usr/bin/node /usr/bin/nodejs which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
sagt?
-
@thomas-braun
Lustiger weise funktioniert es aktuell wieder alles top. Wahrscheinlich doch dann wegen der node neu-installation, da war einfach irgendwas falsch installiert. Hoffentlich ist das jetzt erledigt damit. Danke für die Hilfe!Das sind noch die Ausgaben der Befehle. Passt da jetzt alles?
ln: die symbolische Verknüpfung '/usr/bin/nodejs' konnte nicht angelegt werden: Die Datei existiert bereits
/usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.19.1 v14.19.1 6.14.16 pi /home/pi OK:1 http://giteduberger.fr rpimonitor/ InRelease OK:2 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:3 http://archive.raspberrypi.org/debian buster InRelease OK:4 https://deb.nodesource.com/node_14.x buster InRelease Update rpimonitor Packages Status Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Aktualisierung für 2 Pakete verfügbar. Führen Sie »apt list --upgradable« aus, um sie anzuzeigen. nodejs: Installiert: 14.19.1-deb-1nodesource1 Installationskandidat: 14.19.1-deb-1nodesource1 Versionstabelle: *** 14.19.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_14.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
Mit freundlichen Grüßen
Smibser -
Ja, eine ordentliche Installation von nodeJS ist die Grundlage für einen sauberen Lauf vom ioBroker.
Zieh die beiden Updates noch nach!
-
Es hat jetzt bestimmt 2 Tage perfekt funktionier. Genau nachdem ich den Beitrag geschrieben habe wieder das gleiche: js-contoller 100% CPU obwohl kein Adapter bis auf admin läuft. Hab jetzt mal auch den admin gestoppt und siehe da Auslastung bei 0. Auch nach einem erneuten Starten der admin Adapter lief noch alles gut. Hab dann in den Logs was von DB closed gelesen. Das hab ich auch schon öfters bei Adapter gesehen, Fehler mit DB slow oder closed. Das liegt aber auch vielleicht daran das ich ihn mit iob stop stoppe.
Mit freundlichen Grüßen
Smibser -
Hab jetzt noch eine Fehlermeldung entdeckt.
2022-04-12 21:27:49.954 - error: host.raspberrypi Caught by controller[0]: <--- Last few GCs ---> 2022-04-12 21:27:49.971 - error: host.raspberrypi Caught by controller[0]: [5354:0x4884da8] 346320 ms: Scavenge 333.9 (472.0) -> 333.7 (472.5) MB, 5.7 / 0.0 ms (average mu = 0.920, current mu = 0.888) allocation failure 2022-04-12 21:27:49.972 - error: host.raspberrypi Caught by controller[0]: [5354:0x4884da8] 346339 ms: Scavenge 335.9 (472.5) -> 335.0 (472.5) MB, 4.6 / 0.0 ms (average mu = 0.920, current mu = 0.888) allocation failure 2022-04-12 21:27:49.972 - error: host.raspberrypi Caught by controller[0]: [5354:0x4884da8] 346355 ms: Scavenge 337.4 (472.5) -> 336.0 (473.3) MB, 4.6 / 0.0 ms (average mu = 0.920, current mu = 0.888) allocation failure 2022-04-12 21:27:49.973 - error: host.raspberrypi Caught by controller[1]: <--- JS stacktrace ---> 2022-04-12 21:27:49.977 - error: host.raspberrypi Caught by controller[1]: FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory 2022-04-12 21:27:49.978 - warn: host.raspberrypi instance system.adapter.admin.0 terminated due to SIGABRT
-
Ich habs jetzt noch mehr eingeschränkt. Wenn ich den iobroker starte alle Adapter disabled funktioniert alles top. Wenn ich dann denn admin starte gehts auch noch. Sobald ich irgend einen anderen Adapter starte (hab nicht alle probiert aber einige) geht nichts mehr bis ich wieder alles stoppe und neu starte
Mit freundlichen Grüßen
Smibser -
@smibser sagte in Raspberry Pi ein Kern komplett ausgelastet:
JavaScript heap out of memory
möglicherweise läuft ein Script Amok
-
@homoran
Passiert aber auch wenn der javascript adapter disabled ist, zb wenn nur admin und iot oder admin und zigbee etc. Kann das dann trotzdem an nem script liegen? -
@homoran sagte in Raspberry Pi ein Kern komplett ausgelastet:
JavaScript heap
heißt nicht automatisch Skript-Adapter, alle Adapter sind Javascript. In dem Fall hier wurde der Admin wegen OOM abgeschossen.
-
@alcalzone sagte in Raspberry Pi ein Kern komplett ausgelastet:
@homoran sagte in Raspberry Pi ein Kern komplett ausgelastet:
JavaScript heap
heißt nicht automatisch Skript-Adapter, alle Adapter sind Javascript.
Klingt logisch