NEWS
Piface adapter nimmt immer mehr RAM
-
Hallo sirtwist
Ich forsche mal nach, ob ich das Problem lokalisieren kann. Da es schon mehrere Meldungen in der Richtung gab, hab ich das mal bei mir nachgeschaut. Das Phänomen tritt nicht nur bei Multihost auf. Auch meiner nutzt viel Speicher, allerdings scheint alles weiter zu laufen.
Gruss Eisbaeeer
-
Hallo
Hier eine Aktualisierung des Problems:
wenn der RAM des raspi vollgelaufen ist, wird der Adapter terminated und danach neu gestartet.
1394_iobroker.jpg -
Hallo!
Gibt es mittlerweile eine Lösung für das Problem? Bin noch an den Anfängen von ioBroker und habe das selbe Problem. Extra dafür das Piface gekauft, und dann noch einen neuen Raspberry3, weil das auf nem 1er alles etwas träge war… Der zieht sich den kompletten Arbeitsspeicher mit dem Adapter voll, bei 800MB knapst es von den anderen Instanzen etwas Arbeitsspeicher ab, und irgendwann hängt sich die ganze Sache auf. (nach etwa einer Stunde....)
Vielen Dank und viele Grüße!
-
node version?
Ich kann momentan nur empfehlen die eingebaute Reboot-Cron benutzen (sichtbar mit expert mode).
Adapter ist nicht von mir und piface habe ich nicht. Da sollte eisbaeeer vielleicht Blick drauf werfen.
-
Hallo Bluefox!
Node ist die Version 4.5.0.
Hatte auf dem Raspberry Pi1 die aktuellste Version (7…. meine ich), und hatte den gleichen Fehler.
Viele Grüße!
-
Hallo,
bin gerade in die RAM-Falle gelaufen und habe meine Außenstelle "verloren". Ist per VPN auf dem Raspberry angebunden und …
Habe mir nun eine Testumgebung mit einem PiFace2 aufgebaut und mir den Adaptercode angeschaut.
Für mich sieht es so aus, dass das wiederholte Instanziieren in "adapter.on('stateChange'" ... und "pifaceread" die Ursache ist und der Speicher der beiden Variablen PIFD und pi nicht freigegeben wird, was ich aber eigentlich angenommen hätte.
Wenn ich die beiden Variablen im Skriptrumpf deklariere und dann in den Funktionen "nur" instanziiere, bleibt der Speicherverbrauch schön bei ca. 30 MB.
Sieht so aus, als ob die Garbagecollection da ein Problem hat.
Getestet unter ioBroker.js-controller 15.3, PiFace 0.50 und node 4.7.2 und 6.10
Gruß
GH
-
Reich es doch mal als Pull-Request ein …
-
gemacht, mal sehen, ob Eisbär noch im Winterschlaf ist.
-
Hi Leute
Sorry, dass es doch so lange gedauert hat, aber Familie geht vor usw.
Hab eben den Merge von Euch beiden gemacht. Danke für die Suche des Problems. Npm ist auch schon aktualisiert. Laut Bluefox wird das update morgen sichtbar.
Gruß Eisbaeeeer
-
Hi,
es freut mich sehr, dass es eine Lösung für den RAM-Hunger gibt.
Wie kann ich auf die neue Version updaten ?
In der GUI bekomme ich die Version 0.0.9 als verfügbar angezeigt, aber ohne Update-Button.
Per command line habe ich es nicht hinbekommen (sudo iobroker upgrade piface).
Grüße,
piForscher
-
Hmm, Ok. Ich schau nochmal nach. Manuell kannst du es mal im iobroker Verzeichnis: /opt/iobroker mit "npm install iobroker.piface" installieren. Auch hier beschrieben: https://github.com/ioBroker/ioBroker/wi … daptername
Ich habe die neue Version noch nicht testen können. Wäre also klasse, wenn das noch jemand testet.
Würde mich über eine Rückmeldung freuen.
Gruß Eisbaeeer
-
Hallo
Ich hab die neue Version installiert und habe immer noch das RAM Problem
Ich lass den Adapter alle 5 min neu starten dann hält sich das problem in grenzen
Danke für die Bemühungen
Sirtwist
-
Hallo
Ich hab die neue Version installiert und habe immer noch das RAM Problem
Sirtwist `
Hallo
Schade eigentlich. Komischerweise kann ich das Problem bei meiner Installation immer noch nicht nachvollziehen. Die Änderung der Variablen Definition ist mir auch noch nicht ganz schlüssig. Denn eigentlich war die Variable ja schon definiert.
Ich muss wohl nochmal einen Testaufbau machen. Welchen RPI verwendest du? Welche Version? Welches Betriebssystem? Eventuell kannst du ein SD-Karten Image mit dem bestehnden Problem zur Verfügung stellen? Dann kann ich das mal bei mir testen.
Gruß Eisbaeeer
-
Ich habe jetzt auch auf 0.0.9 aktualisiert - der RAM-Verbrauch hat sich nicht verändert…
Ich lasse es erstmal beim nächtlichen Reset des Adapters.
-
Also mit einer neu Installierten Umgebung kann ich es nachvollziehen, finde aber die Ursache nicht. Eventuell liegt es an dem node-module, welches ich benutze. Ich habe mal ein issue gemeldet: https://github.com/tualo/node-pifacedigital/issues/6
Ich forsche weiter und bleibe dran. Bin für jede Debugging Hilfe dankbar.
Grüße Eisbaeeer
-
Habe gerade mal in den Code geschaut. Muss man wirklich jedes mal wieder eine Instanz der "PIFD1.PIFaceDigital" machen? Auch das Require sollte einmalig am Anfang stehen und nicht mehrfach sein. Das kann man wiederverwenden.
Das wäre eine Optimierung die ich vorschlagen würde, vllt reicht das auch schon
-
Ok, das schau ich mir gleich mal an. Danke für den Hinweis. Melde mich wieder.
Gesendet von meinem SM-G920F mit Tapatalk
-
Habe gerade mal in den Code geschaut. Muss man wirklich jedes mal wieder eine Instanz der "PIFD1.PIFaceDigital" machen? Auch das Require sollte einmalig am Anfang stehen und nicht mehrfach sein. Das kann man wiederverwenden. `
Hmm, hab ich jetzt alles versucht, jedoch bekomme ich einen Fehler, wenn ich in der Funktion versuche, den die Variable wiederzuverwenden. Ist das nicht so, dass durch das asynchrone abarbeiten der functions die Variable dann falsch verwendet werden kann?
Komisch ist auch, dass ich mit einer alten node version diese Probleme nicht hatte. Aber das traue ich node zu, dass es gravierende Änderungen in den node Versionen gibt.
Noch einen Tipp?
Eisbaeeer
-
Was kommt denn für ein Fehler? In welchen Node-Version gibt es welche Probleme?
-
Hallo zusammen
Ich habe heute eine neue Version des Adapters veröffentlicht. Sie wird heute Nacht automatisch ins Repo übernommen und ist dann als Update verfügbar. Wer es heute schon braucht, muss den Adapter aus iobroker löschen und über den Github Button installieren.
Die neue Version behebt das RAM Problem!
Grüße Eisbaeeer