NEWS
Javascript adapter RAM wächst
-
Hallo,
im Javascript adapter läuft ein Script mit Puppeteer, welches nach Ausführung alle Seiten und auch den Browser beendet. Das script läuft scheduler.
... const pages = await browser.pages(); for(const page of pages) { await page.close(); //console.log('page closed') } try { await browser.close() } catch (error) { console.log(error); }
Trotztem wächst der RAM Verbrauch von javascript.0 nach einigen Tagen auf über 200MB. Der PC Lüfter fängt dann an zu laufen, was nervig ist. Wenn ich den Javascript adapter dann neustarte, springt der RAM auf ca 150MB zurück und der Lüfter geht aus.
Kann ich mir irgendwie die Zombie-Prozesse anzeigen lassen und schließen?
Gruß,
Frank. -
Alles keine besorgniserregenden Zeichen.
-
Ja ich weiß, ist nur halt schöner wenn der Lüfter nicht läuft.
Gibt es eine Möglichkeit darzustellen was Javascript adapter noch aktiv ist?
-
RAM-Auslastung lässt auch den Lüfter nicht laufen.
Da läuft vermutlich eher die CPU.iob diag
gibt einen ersten Überblick, was da alles läuft.
-
@thomas-braun sagte in Javascript adapter RAM wächst:
iob diag
gibt einen ersten Überblick, was da alles läuft.
kann man sich das gesamt auch in eine Datei ausgeben lassen ?
-
@manfredhi sagte in Javascript adapter RAM wächst:
kann man sich das gesamt auch in eine Datei ausgeben lassen ?
Wird schon automatisch gemacht. Das log liegt in /home/iobroker als iob_diag.log
Wobei ich es einfacher finde das direkt aus dem Terminal zu kopieren.Am besten per
less -R /home/iobroker/iob_diag.log
anschauen.
-
@frankne ram hat nix mit Lüfter zu tun.. da ist die CPU gefragt.. wie es aussieht..deshlab springt die Kühlung an...
lass dir mal einen Zähler ausgeben.. in der schleife..
nicht dass die sich aufhängt.. und bis unendlich läuft -
Ich habe diag vor und nach dem Javascript adapter neustart laufen lassen und ein Hauptunterschied liegt in der Anazahl der offenen Ports für Chrome.
*** Listening Ports *** Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name ... tcp 0 0 127.0.0.1:43101 0.0.0.0:* LISTEN 1001 499741 111857/chrome tcp 0 0 127.0.0.1:39273 0.0.0.0:* LISTEN 1001 470159 105601/chrome tcp 0 0 127.0.0.1:39281 0.0.0.0:* LISTEN 1001 498806 111180/chrome tcp 0 0 127.0.0.1:43313 0.0.0.0:* LISTEN 1001 503397 112868/chrome tcp 0 0 127.0.0.1:39571 0.0.0.0:* LISTEN 1001 453632 103359/chrome tcp 0 0 127.0.0.1:39877 0.0.0.0:* LISTEN 1001 511028 113708/chrome ...
Sieht so aus, als ob noch mehrere Chrome Instanzen oder Tabs in Puppeteer laufen. Ich dachete mit
page.close
undbrowser.close
wird alles geschlossen (wie in meinem ersten Beitrag geschrieben). Scheinbar doch nicht. Gibt es Tips, wie ich diese verwaisten Chrome instanzen schließen kann? -
sudo -u iobroker killall chrome
-
ich habe jetzt einen Großteil des Codes in ein Try Catch Statement gepackt, sodass bei einem Fehler immer der Browser geschlossen wird. Seit dem gibt es keine "Probleme" mehr.