NEWS
Steigender RAM Verbrauch normal?
-
Irgendjemand eine Idee woher das Problem mit dem steigenden Adapter RAM herkommen könnte? Wenn ich bspw. in der Admin GUI auf Instanzen, Adapter etc. klicke steigt der RAM Verbrauch auch an und bleibt dann dauerhaft belegt...
Dank falls jemanden noch was einfällt...
-
@zeron850 Kannst du mal schauen, welche Instanz bei rum clicken ansteigt?
-
Danke für die Antwort. Es war der Admin + Javascript Adapter. Selbst wenn ich letzteren deaktiviere dann steigt der Verbrauch stetig an...
-
@zeron850 Ah, da sieht man dann wohl bei dir, wegen des Compact-Modus, nur den RAM-Verbrauch der Compact-Groups und nicht der einzelnen Instanzen.
Edit: Ich würde mir das mal ohne Compact ansehen. Vielleicht siehst du dann die Instanz bei der der RAM-Verbrauch am meisten ansteigt.
-
@zeron850 dass das RAM nach einem Neustart sinkt ist vollkommen normal. Zu dem bisher gesagten gibt es nichts hinzuzufügen.
Allerdings sollte es nicht vorkommen, dass das verfügbare RAM auf 0 fällt.
Wenn das tatsächlich bei dir passiert, liegt da etwas im argen.
Bist du sicher, dass nach Deaktivierung des js Adapters kein Skript mehr läuft?
Machst du im Admin speicherfressende Aktionen?
-
Richtig aufgrund des Compact Modus werden diese zusammengefasst. Ich habe es analysiert. Am stärksten wächst der Admin Adapter. Im Grunde wachsen fast alle Adapter bis aus der JavaScript Adapter. Der steht konstant bei 207 MB seit Stunden…
-
Vielen Dank für deinen Input. Der JavaScript Adapter steht konstant bei 207 MB seit Stunden. Der Admin Adapter ist um rund 100 MB angewachsen. Fast alle anderen Adapter wachsen ganz langsam mit bis eben der JS.
Die zwei Peaks auf dem Bild waren wenn ich die Admin oder VIS Admin GUI im Browser aufrufe. Wenn ich dann danach noch ein paar Klicks machen von z. B. Instanzen auf Objekte etc. dann steigt der Verbrauch stark an.
Gibt es keine Möglichkeit die Adapter wieder einzufangen oder zu bereinigen?
-
@zeron850 sagte in Steigender RAM Verbrauch normal?:
Gibt es keine Möglichkeit die Adapter wieder einzufangen
tut es doch!
nach den Peaks geht es erst einmal wieder zurück.
Danach wird anscheinend nicht genutztes RAM weiter auf die laufenden Prozesse verteilt.
beim letzten Peak sieht man schön, wie in Erwartung weiteren Verbrauchs erst einmal sukzessive mehr RAM zugewiesen, und dann wieder abgebaut wird, weil er doch nicht gebraucht wurde.wie ich und andere schrieben.:
@homoran sagte in Steigender RAM Verbrauch normal?:
dass das RAM nach einem Neustart sinkt ist vollkommen normal. Zu dem bisher gesagten gibt es nichts hinzuzufügen.
und auch nochmal anders herum:
Dass einem Prozess nach einem Neustart nach und nach weiterer (ungenutzter) RAM zugewiesen wird. -
Danke, löst mein Problem aber nicht das irgendwann der RAM ganz aufgebraucht ist….
-
@zeron850
Könnte nicht etwas mehr Swap-Speicher gegen das Einfrieren helfen - zumindest bis Du herausgefunden hast, warum der Speicher volläuft. -
Das schon aber ich würde gerne lieber die Ursache für den steigenden Ressourcenverbrauch finden. So wie ich sehe gibt es einige Systeme die dieses Verhalten nicht aufweisen. Andere wiederum entwickeln sich aus unterschiedlichen Gründen zum Speicherfresser.
Ich bin ja für jeden Tipp aus diesem Forum dankbar und hoffe irgendwann einen zu bekommen der mein Thema löst
-
@zeron850 sagte in Steigender RAM Verbrauch normal?:
ich würde gerne lieber die Ursache für den steigenden Ressourcenverbrauch finden.
das wäre auch der richtige Weg.
Aber nochmals@zeron850 sagte in Steigender RAM Verbrauch normal?:
löst mein Problem aber nicht das irgendwann der RAM ganz aufgebraucht ist….
ist das wirklich so dass der available RAM (nicht der free!!) auf 0 geht?
bei mir sieht es jetzt so aus
Es dauert immer ein paar Tage bis die Verteilung von freiem RAM auf die laufenden Prozesse stabilisiert ist.
-
Ich bin mir nicht ganz sicher, aber ich habe mal etwas nachgeforscht, dabei ist mir folgende Tabelle untergekommen!
Node.js Version Limit 17.x 4.0 GB 16.x 4.0 GB 15.x 4.0 GB 14.x 4.0 GB 13.x 2.0 GB 12.x 2.0 GB 11.x 1.4 GB 10.x 1.4 GB 9.x 1.4 GB Wenn Du wie geschrieben, Node 14 nutzt, dann ist das Limit auf 4GB festgelegt und Node nutzt das dann auch, bei Java gibt es die Möglichkeit den max. Ram Verbrauch beim Start zu setzen und der garbitsch collector macht dann in regelmäßigen Abständen das Ram wieder frei. Bei Node gab es bis, glaube Version >=12 auch die Möglichkeit den RAM Verbrauch einzurichten / zu optimieren.
Bei den neueren Node Versionen liegt das soweit ich das verstanden habe in den Händen von Node selber.VG
-
@homoran said in Steigender RAM Verbrauch normal?:
@zeron850 sagte in Steigender RAM Verbrauch normal?:
ich würde gerne lieber die Ursache für den steigenden Ressourcenverbrauch finden.
das wäre auch der richtige Weg.
Aber nochmals@zeron850 sagte in Steigender RAM Verbrauch normal?:
löst mein Problem aber nicht das irgendwann der RAM ganz aufgebraucht ist….
ist das wirklich so dass der available RAM (nicht der free!!) auf 0 geht?
bei mir sieht es jetzt so aus
Es dauert immer ein paar Tage bis die Verteilung von freiem RAM auf die laufenden Prozesse stabilisiert ist.Ich kann nicht für
Ich kann nicht für @zeron850 sprechen, aber der Speicher, ob jetzt für bare-metal oder irgend eine Art von Virtualisierung kann durch eine fehlerhafte Anwendung oder Applikationen (z.B.: Video Bearbeitung mit nur 4GB) dazu führen, dass dem Rechner der Speicher ausgeht. Linux fängt dann an erst zu swapen, wenn der swap aufgebraucht ist, friert der Rechner ein. Bei den heutigen PCs sieht man das nicht mehr so oft, da es genügend RAM gibt.
Lange Rede, kurzer Sinn, wenn die 4GB die @zeron850 in seinem Rechner hat nicht reichen, gibt es aus meiner Sicht nur zwei Dinge die er machen kann,- Rechner mit mehr RAM
- oder den Verbrauch von RAM für den/die User einschränken, um das einfrieren zu vermeiden
Ich kenne mich mit DietPi nicht aus, ob da "systemd" genutzt wird aber vielleicht hilft das ja als Denkanstoß.
In der Konsole als iobroker User oder der Standard User aus DietPi:id
sudo systemctl show user-(id der user).slice -p MemoryHigh <- gibt Dir aus, wie viel RAM er benutzen darf.
sudo systemctl set-property user-(id der user).slice MemoryHigh=3G <- schränkt den User auf 3GB ein
sudo systemctl show user-(id der user).slice -p MemoryHigh <- check ob es funktioniert.es sollte pro User eine Datei geben in der man nachschauen kann, sie wird auch nach einem reboot gelesen, um die User wieder einzuschränken.
cat /etc/systemd/system.control/user-(id der users).slice.d/50-MemoryHigh.conf
VG
-
@dp20eic sagte in Steigender RAM Verbrauch normal?:
Lange Rede, kurzer Sinn, wenn die 4GB die @zeron850 in seinem Rechner hat nicht reichen, gibt es aus meiner Sicht nur zwei Dinge die er machen kann,
es gibt ja noch die 2-te ..
die Prozesse aufteilen im Multihost betrieb
-
Erstmal vielen Dank und leider ist es der available RAM der flöten geht. Der Odroid C4 hat allerdings nur 3,6 bzw. 3,7 GB RAM. Von daher wird das mit den 4 GB schwierig.
Ich werde aber heute Abend mal die Tipps mit dem zugewiesenen RAM checken.
Gibt es eine Anleitung für das Multihost Thema?
-
-
Merci!
-
@arteck said in Steigender RAM Verbrauch normal?:
es gibt ja noch die 2-te ..
die Prozesse aufteilen im Multihost betriebHi,
ja das ist auch noch eine Möglichkeit, macht das System aber auch nicht einfacher zu administrieren und wenn ich mich recht entsinne, hat man dann ein Problem, dass am Master oder Slave angeschlossene USB Dongle (zwave / zigbee) nicht mehr nutzbar sind, wenn mal alles wieder auf der Seite läuft, wo sie nicht angeschlossen sind.
Hoffe die Info ist noch aktuell, ist schon etwas her, dass ich mich mit Multihost befasst habe.VG
-
Sind wir uns sicher, dass das kein Memory-Leak in Node.js selbst ist? Node 16.16 (und potentiell vorherige Versionen) hat nämlich eins. Vielleicht haben sie das gleiche in 14.20 eingebaut.