NEWS
IoBroker Neustarts, Erreichbarkeit, Aktualisierung
-
Hallo,
ich habe seit einiger Zeit große Probleme mit meiner ioBroker Installation auf meinem Raspberry Pi 3+:
-
Installation/Aktualisierung von Adaptern dauert sehr lange (gefühlt > 10 Minuten)
-
Installation/Aktualisierung von Adaptern teilweise erst im zweiten Anlauf möglich
-
Admin-GUI oft nicht aufrufbar (Endloslaufband)
-
häufige, unregelmäßige Neustarts von ioBroker*
-
Anmeldung über Putty teilweise nicht möglich, es erscheint kein Login
-
Eingabe von Befehlen in Putty unvermittelt nur sehr langsam möglich, ca. ein Zeichen pro Sekunde
-
Löschen von Adaptern wird nach langer Zeit mit Fehlermeldung abgebrochen
-
Während der Löschaktion ist kein Putty-Login möglich
-
bzw. wenn bereits vorher in Putty angemeldet keine Befehlseingabe möglich
*Das mit den Neustarts von ioBroker ist mir erst aufgefallen seit ich den Telegramm-Adapter installiert habe und dadurch bei Neustarts eine Meldung bekomme.
Neustarts gestern z.B. 4:04, 5:04, 6:39,, 9:20, 12:12, 15:11, 15:42, 18:30, 19:09, 22:08, 22:52
also schon sehr häufig.
Habe nachdem sich die ersten Probleme mit der Erreichbarkeit des Admins abzeichneten den Raspberry Pi 3+ komplett neu eingerichtet:
-
SD-Karte formatiert,
-
offizielles Image von März 2018 aufgespielt,
-
Update und Upgrade von ioBroker und Adaptern über Putty,
-
Swaping abgestellt (gem. Link auf offizieller ioBroker-Webpage),
-
Raspberry Neustart um 4:00 Uhr eingerichtet (https://smarthome.schimmer-media.de/for … /&pageNo=1)
-
Zeitsynchronisation über systemd eingestellt (https://feeding.cloud.geek.nz/posts/tim ... d-systemd/)
-
NTP deinstalliert
-
komplettes Backup eingespielt
-
alle Adapter sind lt. GUI aktuell
Testweise habe ich ebenfalls das Netzteil gegen ein anderes ausgetauscht, das hat aber nichts geändert.
Meine nächste Vermutung wäre eine schwächelnde MicroSD-Karte. Ehe ich mir eine Neue besorge würde ich aber eine Bestätigung abwarten, dass die Fehler wirklich darauf hinweisen.
Ich hoffe mir kann jemand weiterhelfen, bin allerdings ein Windows-Anwender und habe von Linux so gut wie keine Ahnung.
HomeMatic RPC löschen via Admin-GUI
(Start: 03:27 Uhr)
===================================
$ ./iobroker del hm-rpc Delete adapter "hm-rpc" host.ioBroker-RasPi no instances of adapter hm-rpc found host.ioBroker-RasPi Counted 283 meta of hm-rpc host.ioBroker-RasPi Counted 1 adapters for hm-rpc host.ioBroker-RasPi Counted 1 states of hm-rpc host.ioBroker-RasPi Counted 1 states (system.adapter.hm-rpc.*) from states host.ioBroker-RasPi Deleting 285 object(s). host.ioBroker-RasPi: Only 200 objects left to be deleted. host.ioBroker-RasPi Deleting 1 state(s). npm uninstall iobroker.hm-rpc --silent --save --prefix "/opt/iobroker" (System call) Killed ERROR: Error deleting adapter hm-rpc from disk: Error: host.ioBroker-RasPi: Cannot uninstall iobroker.hm-rpc: 137You might have to delete it yourself! process exited with code 0
Fehlermeldung im Log
um 03:32:31 Uhr
=====================
Error deleting adapter hm-rpc from disk: Error: host.ioBroker-RasPi: Cannot uninstall iobroker.hm-rpc: 137You might have to delete it yourself!
6039_iobroker.2019-01-20.log -
-
Hm, 40 Views ohne einen einzigen Kommentar bzw. Tipp.
Wo muss ich konkreter werden, welche Angaben werden noch benötigt?
Bin auch für Tipps (Links) dankbar, was ich als nächstes sinnvollerweise probieren sollte.
-
Probiere bitte mal dieses hier:
viewtopic.php?f=8&t=20059&p=211713&hili … 56#p211448
40 Views ohne einen einzigen Kommentar `
was sind 40 Views bei 25000 Usern?welche Angaben werden noch benötigt? `
Anzahl der installierten Adapter?verfügbarer (nicht freier) RAM -> deswegen da oben der Link!
node -v
nodejs -v
npm -v
Werte aus TOP
und, und und….
Gruß
Rainer
-
Herzlichen Dank für Deinen Kommentar. Ich versuche mal die von Dir gewünschten Informationen bereit zu stellen.
Die Angabe in Deinem Link setze ich aus Zeitgründen erst heute Abend um.
Das mit dem TOP muss ich erst googeln wie das geht, habe wie gesagt mit Linux keine Erfahrung und keine großen Kenntnisse.
Adapter mit Instanzen habe ich insgesamt 45.
Habe ansonsten folgende Werte ermittelt, wobei heute komischerweise der letzte Neustart gegen 5 Uhr früh war:
Versionen:
node V 8.15.0
nodejs V 8.15.0
npm V 6.4.1
Speicher:
pi@ioBroker-RasPi:~ $ free
total used free shared buff/cache available
Mem: 949448 849440 46428 18196 53580 39492
Swap: 0 0 0
pi@ioBroker-RasPi:~ $ df
Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
/dev/root 15046340 2604476 11799060 19% /
devtmpfs 470116 0 470116 0% /dev
tmpfs 474724 0 474724 0% /dev/shm
tmpfs 474724 18192 456532 4% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474724 0 474724 0% /sys/fs/cgroup
/dev/mmcblk0p1 42131 22541 19590 54% /boot
tmpfs 94944 0 94944 0% /run/user/1000
-
-
Kannst Du mir einen Tipp geben wie ich Adapter manuell deinstallieren kann?
Ich habe es mit drei Adaptern sowohl im Admin-GUI als auch per PuTTY versucht, aber die Deinstallation wird jedesmal mit der Fehlermeldung, die ich im ersten Beitrag angeführt habe, abgebrochen.
-
iobroker del AdapterName
-
Ja, das habe ich in PuTTY schon probiert. Dauert 5-10 Minuten und bricht dann ab.
-
dann tipp mal TOP ein
und poste die Kopfzeilen
mit STRG-C kommst du da wieder raus
-
Hab den Pi jetzt stromlos gemacht weil er nach 10 Minuten immer noch nicht erreichbar war und gleich nach dem Neustart nochmal den freien Speicher abgefragt:
pi@ioBroker-RasPi:~ $ free total used free shared buff/cache available Mem: 949448 267804 535692 12264 145952 619076 Swap: 0 0 0
pi@ioBroker-RasPi:~ $ df Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf /dev/root 15046340 2606152 11797384 19% / devtmpfs 470116 0 470116 0% /dev tmpfs 474724 0 474724 0% /dev/shm tmpfs 474724 12256 462468 3% /run tmpfs 5120 4 5116 1% /run/lock tmpfs 474724 0 474724 0% /sys/fs/cgroup /dev/mmcblk0p1 42131 22541 19590 54% /boot tmpfs 94944 0 94944 0% /run/user/1000
Danach sofort im Admin-GUI erneut versucht einen Adapter zu löschen. Das hat für HM-Rega, HM-RPC und TVSpielfilm (den drei Adaptern mit denen ich es vorher erfolglos versucht habe) nun auch geklappt.
TOP ergibt folgendes:
pi@ioBroker-RasPi:/opt/iobroker $ top top - 18:03:34 up 13 min, 1 user, load average: 0,81, 1,22, 0,82 Tasks: 125 total, 1 running, 80 sleeping, 0 stopped, 0 zombie %Cpu(s): 4,5 us, 0,7 sy, 0,0 ni, 94,6 id, 0,0 wa, 0,0 hi, 0,2 si, 0,0 st KiB Mem : 949448 total, 178844 free, 700288 used, 70316 buff/cache KiB Swap: 0 total, 0 free, 0 used. 187228 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 606 root 20 0 165688 57280 7196 S 5,6 6,0 1:16.35 iobroker.js-con 948 root 20 0 138716 39340 5008 S 3,3 4,1 0:12.71 io.tr-064.1 872 root 20 0 128988 31024 4516 S 3,0 3,3 0:21.35 io.ble.0 958 root 20 0 136452 37512 3992 S 2,0 4,0 0:26.10 io.upnp.0 511 redis 20 0 34184 2092 552 S 1,3 0,2 0:09.98 redis-server 782 root 20 0 158192 57248 4356 S 1,3 6,0 0:15.98 io.javascript.0 1063 root 20 0 128448 18960 5580 S 1,3 2,0 0:02.22 io.text2command 1878 pi 20 0 8512 3216 2736 R 1,3 0,3 0:00.40 top 665 root 20 0 129256 18156 4624 S 0,7 1,9 0:02.66 io.socketio.0 1008 root 20 0 133096 20228 4564 S 0,7 2,1 0:05.06 io.iot.0 8 root 20 0 0 0 0 I 0,3 0,0 0:00.91 rcu_sched 145 root 20 0 0 0 0 I 0,3 0,0 0:00.88 kworker/u8:2 322 avahi 20 0 6404 728 372 S 0,3 0,1 0:01.79 avahi-daemon 593 root 0 -20 0 0 0 I 0,3 0,0 0:00.85 kworker/u9:2 745 pi 20 0 11664 1616 868 S 0,3 0,2 0:00.05 sshd 792 root 20 0 148148 38944 5496 S 0,3 4,1 0:13.95 io.admin.0 832 root 20 0 127200 17192 5072 S 0,3 1,8 0:04.37 io.kodi.0 862 root 20 0 130464 30468 4072 S 0,3 3,2 0:02.93 io.fritzbox.0 1 root 20 0 26928 2052 988 S 0,0 0,2 0:02.19 systemd 2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd 3 root 20 0 0 0 0 I 0,0 0,0 0:00.06 kworker/0:0 4 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/0:0H 5 root 20 0 0 0 0 I 0,0 0,0 0:00.42 kworker/u8:0 6 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 mm_percpu_wq 7 root 20 0 0 0 0 S 0,0 0,0 0:00.12 ksoftirqd/0 9 root 20 0 0 0 0 I 0,0 0,0 0:00.00 rcu_bh 10 root rt 0 0 0 0 S 0,0 0,0 0:00.01 migration/0 11 root 20 0 0 0 0 S 0,0 0,0 0:00.00 cpuhp/0
-
Kannst mal versuchen ioBroker zu beenden und dann die Adapter zu löschen. Das sollte generell auch tun und dann solltest Du viel mehr Speicher haben.
Aktuell kannst Du bei einem nodejs Prozess mit 40MB+ Speicherverbrauch rechnen. Wenn nur ioBroker-Adapter laufen würden wären das also maximal 25. Der js-controller und dein System braucht auch noch etwas. Also musst Du drastisch reduzieren. Oder einen zweiten Raspi als Slave hinstellen wo Du dann verteilst (geht auch). Brauchst auf im ersten Schritt gar nicht löschen - deaktivieren der Instanzen sollte ausreichen.
Ingo
-
Und ja bei für such Netzteil prüfen obwohl du ggf in /var/log/syslog was mit oom finden dürftest.
Gesendet vom Handy …
-
In /var/log/ finde ich nur die Unterverzeichnisse /apt, /redis und /samba wobei /redis in FileZilla mit einem Fragezeichen versehen und nicht einsehbar ist.
-
Arbeite mal nicht mit FileZilla, sonder gehe per SSH auf den Host und schau in die Verzeichnisse.
Gruß,
Eric
Von unterwegs getippert
-
Hallo,
sorry, ich bin gesundheitlich gerade etwas angeschlagen und komme daher erst jetzt dazu mich wieder in der Angelegenheit zu melden.
Ich habe nun doch die syslog-Datei im Verzeichnis gefunden - auch mit FileZilla. Keine Ahnung warum ich am WE nicht fündig geworden bin.
Ich hänge die Datei mal hier an, da sind in der Tat eine Menge Einträge mit oom, aber das sagt mir leider nicht viel. Ich habe mitbekommen, dass diese Einträge wohl bei Speicherknappheit von einem "oom-killer" erzeugt werden.
Mir scheint aber, dass es keinen eindeutigen Verursacher gibt. Ich habe die oom-Einträge in Verbindung mit io.xxx gefunden, scheint also in der Tat, dass die Anzahl der Adapter Probleme macht. Wenn ich die installierten Adapter aber mittelfristig benötige, dann bleibt mir nur der Wechsel auf ein NUC mit mehr RAM?
Was mich bei all dem ein wenig wundert ist, dass ich meine ioBroker Mitte letzten Jahres mit nicht sehr viel weniger Adaptern auf einem Pi 2b laufen gehabt zu haben, ohne dass ich diese Probleme dort festgestellt hätte.
6039_syslog.log
6039_adapter1.jpg
6039_adapter2.jpg -
Na ok, oom-killer heisst Speicher ist knapp geworden.
Wieviele Instanzen laufen denn bei Dir?
Was läuft da noch so?
-
Die in meinem letzten Post angezeigten Adapter sind die mit Instanzen.
-
Ok, ich habe 42 Instanzen gezählt? Korrekt? Und das ganze mit 1GB RAM von nem Raspi … lass mich mal Rechnen ...
Eine nodejs Instanz braucht 30-50MB ... also optimistisch gerechnet 30x42 = 1,26GB ... hm ... naja ... sagen wir es mal so ...
Ist ein bissl viel für deine RAM Ausstattung.
-
Ja, das sehe ich ein.
Ich habe das Swapping erst kürzlich deaktiviert, evtl. habe ich deshalb von der Speicherknappheit vorher nichts bemerkt.
Sehe ich das richtig, dass es im Prinzip folgende drei Alternativen gibt?
-
Swapping einschalten - Nachteil Micro-SD-Karten-Verschleiß
-
Umstellung auf NUC mit mehr RAM
-
Deaktivierung, bzw. Deinstallation von mindestens. 10 Adaptern/Instanzen
-
-
4. Einen weiteren PI aus der Bastelkiste nehmen und ihn zur bestehenden Installation dazufügen. Dann 20 Adapter auf jeden. Zentrale Verwaltung über den vorhandenen Master-ioBroker. Ist easy.
Späßchen: Falls Du mutig bist, kannst die die Swap-Datei für 1) auch auf einen USB-Stick legen. Soll doch der kaputt gehen…