NEWS
Ram läuft voll
-
Ich habe das Tool noch nicht am laufen, aber merke gerade das der Ram steigt und ioB träge wird. In der Log taucht wieder "dasWetter Adapter" auf.
host.iobroker 2022-01-04 12:32:10.495 error instance system.adapter.daswetter.0 terminated with code 15 (UNKNOWN_ERROR) daswetter.0 2022-01-04 12:32:10.415 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_3": Connection is closed. daswetter.0 2022-01-04 12:32:10.414 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windchill_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windchill_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.412 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windchill_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.412 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.snowline_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.snowline_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.411 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.snowline_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.411 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.clouds_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.clouds_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.410 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.clouds_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.410 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.pressure_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.pressure_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.410 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.pressure_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.409 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.humidity_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.humidity_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.401 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.humidity_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.400 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.rain_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.rain_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.400 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windgusts_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windgusts_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.399 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windgusts_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.400 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.rain_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.399 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windIconURL: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windIconURL": Connection is closed.] daswetter.0 2022-01-04 12:32:10.398 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.windIconURL": Connection is closed. daswetter.0 2022-01-04 12:32:10.398 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_value": Connection is closed.] daswetter.0 2022-01-04 12:32:10.397 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_value": Connection is closed. daswetter.0 2022-01-04 12:32:10.396 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_dir: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_dir": Connection is closed.] daswetter.0 2022-01-04 12:32:10.394 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_dir": Connection is closed. daswetter.0 2022-01-04 12:32:10.393 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_symbol": Connection is closed. daswetter.0 2022-01-04 12:32:10.393 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_symbolB: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_symbolB": Connection is closed.] daswetter.0 2022-01-04 12:32:10.392 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.iconURL: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.iconURL": Connection is closed.] daswetter.0 2022-01-04 12:32:10.393 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_symbol: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_symbol": Connection is closed.] daswetter.0 2022-01-04 12:32:10.392 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.iconURL": Connection is closed. daswetter.0 2022-01-04 12:32:10.392 error Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.wind_symbolB": Connection is closed. daswetter.0 2022-01-04 12:32:10.391 error exception in await insertIntoList [Error: Could not check object existence of daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.symbol_value: Cannot check object existence of "daswetter.0.NextDaysDetailed.Location_1.Day_2.Hour_8.symbol_value": Connection is closed.]
-
@d3ltoroxp
Das kann auch nur eine Begleiterscheinung des geringen RAM sein.
Wenn es mit diesem Adapter ein Problem gäbe dann wärst du nicht der einzige der hier schreibtWenn du mit Top dir mal die Prozesse anschaust, welche Prozesse benötigen den gerade viel RAM?
Zeig hier mal die Ausgabe des folgenden Befehls
ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -20
-
@d3ltoroxp die Fehler kommen, wenn der Adapter innerhalb des Timeouts (ist in der Instanz einstellbar, default 60s) nicht alle Daten lesen kann weil z.b. iobroker gerade mit anderen sachen stark beschäftigt ist. Es ist somit eine Auswirkung aber nicht die Ursache.
-
smarthome@iobroker:~$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -20 7.9 73.5 1307684 376 iobroker.js-controller 5.3 23.7 1034204 19534 io.javascript.0 3.4 0.1 1058920 426 io.admin.0 2.1 1.2 745060 613 io.sonoff.0 2.1 0.2 805060 1400 io.web.0 2.1 0.1 982572 486 node-red 1.8 0.3 723228 598 io.shelly.0 1.7 0.4 918196 11083 io.zigbee.0 1.7 0.1 843348 1307 io.sourceanalytix.0 1.6 0.6 706096 628 io.tr-064.0 1.6 0.2 843960 1322 io.statistics.0 1.5 0.8 685644 1355 io.upnp.0 1.5 0.1 968900 520 io.alexa2.0 1.5 0.0 703056 689 io.hm-rega.0 1.4 0.4 675040 1277 io.proxmox.0 1.4 0.1 914040 12389 io.mihome-vacuum.0 1.4 0.0 965772 1415 io.worx.0 1.4 0.0 960868 535 io.fhem.0 1.4 0.0 892676 704 io.backitup.0 1.4 0.0 770688 918 io.iot.0
Also dann doch eher ein Script.
-
@d3ltoroxp said in Ram läuft voll:
307
ne eigentlich nicht.
Aber beobachte mal den javascript Wert über die Zeit ob der sich stark verändert.
sieht bei mir ähnlich aus und ich habe 8 skripte laufen.
und du sagst jetzt ist dein RAM voll?
Was für ein Rechner hast du?
Sieht für mich nach 4GB aus.
Diese 20 Prozesse verbrauchen knapp 50% deines Speichers und dann kommt noch das Betriebssystem dazu.
Evtl können andere mal vergleichen? -
Bei mir so:
dieter@VM-iobroker:~$ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -20 5.3 4.4 1134800 635 io.javascript.0 4.5 2.8 835540 658 io.javascript.1 4.1 14.6 1102176 432 iobroker.js-controller 2.4 0.7 997564 620 io.admin.0 2.1 0.1 982168 1450 io.web.0 1.7 0.3 970212 1958 io.sql.0 1.6 5.7 693812 25980 io.mqtt.2 1.4 3.1 1010488 26391 io.mihome-vacuum.0 1.4 0.9 678036 2273 io.proxmox.0 1.4 0.6 682264 1293 io.hm-rpc.0 1.4 0.2 682500 734 io.hm-rega.0 1.4 0.1 944304 2083 io.contact.0 1.3 0.3 678268 1122 io.tr-064.0 1.3 0.3 673412 2144 io.logparser.0 1.3 0.1 947128 689 io.telegram.0 1.3 0.1 677240 2258 io.octoprint.0 1.2 0.1 937900 1975 io.tankerkoenig.0 1.2 0.1 930772 2176 io.rssfeed.0 1.1 0.3 653852 1065 io.ping.0 1.1 0.1 932044 1393 io.info.0
Habe zahlreiche Scripte (100 oder mehr).
Bei läuft iob in einer vm unter proxmox.
Die vm hat 6 GB zugeordnet und aktuell ca. 3,5 GB in Gebrauch. -
Aktuell sieht es bei mir auch so aus.
Nach einer weile, wird der Ram voll. Aktuell sieht es gut aus. Dann müsste ja irgendwann bei irgendwas ein Script getriggert werden, was dann verursacht, den Ram zu füllen und das ganze System lahm zu legen.
Komisch ist halt, das ich das früher nie hatte. An den Scripten wurde nichts geändert, das einzig neue ist das mit dem View Wechsel für die VIS. -
dann nochmal den Befehl ausführen wenn das RAM voll bzw. voller wie jetzt ist.
Du siehst von den Werten passt das. Zur Vollständigkeit sieht es bei mir so aus3.3 0.3 1364220 224 io.web.0 1.4 0.7 1082284 209 io.javascript.0 1.4 0.1 1075000 400 io.tvprogram.0 0.9 0.1 988748 110 io.admin.0 0.8 0.1 970496 88 iobroker.js-controller 0.6 0.8 943796 19329 io.squeezeboxrpc.0 0.6 0.1 928068 2887 io.openligadb.0 0.5 1.6 908100 369 io.info.0 0.5 0.2 965052 182 io.sql.0 0.5 0.0 949456 26865 io.simple-api.0 0.5 0.0 936860 348 io.history.0 0.4 0.2 893416 330 io.ping.0 0.4 0.1 913504 15041 io.rssfeed.0 0.4 0.0 912536 29928 io.accuweather.0 0.4 0.0 895992 339 io.mihome.0 0.4 0.0 894348 31804 io.parser.0 0.4 0.0 894196 239 io.discovery.0 0.3 0.1 892544 351 io.mytime.0 %MEM %CPU VSZ PID CMD 0.0 0.1 7324 14758 bash
system läuft in einem dockercontainer auf einem intel nuc, daher ist die Prozentangabe zum Memory wohl auf Basis des Gesamtspeichers (16GB)
-
Ich hatte kurz bevor dieses Thema hier im Thread auseinandergenommen wurde gerade meine gesamte Installation auf den neuesten Stand gebracht. Alle Hosts von Grund auf neu aufgesetzt und auch einen anderen NUC mit größerer SSD genommen und den 8GB Speicher auf die beiden VMs zu 6 und 2 GB aufgeteilt.
Damals dachte ich auch noch: dann ist ja alles gut.Jetzt habe ich mal den einfachen Weg gewählt, den Proxmox-Adapter installiert und dort nachgesehen
Kann man jetzt noch den RAM umverteilen, bzw. die Zuordnung für ioB auf z.B. 5GB reduzieren, oder muss nochmal alles neu installiert werden
-
@homoran
kaperst du jetzt den thread mit einem anderen topic?
Hier gehts doch darum das bei jemand das RAM voll läuft
und nicht um "wie mache ich in proxmoxx...." -
@oliverio sagte in Ram läuft voll:
Hier gehts doch darum das bei jemand das RAM voll läuft
das tut es bei mir doch auch!
Der Swap wird immer mehr benutzUnd wenn es wie hier beschrieben daran liegt, dass in den VMs mehr RAM vergeben ist als zur Verfügung steht, würde ich gerne wissen, ob und wie man das ändern kann
Dann könnte ich das testen und die hoffentlich positiven Ergebnisse den anderen helfen
-
@homoran Eigentlich ganz einfach..
Dort einfach abändern und die VM oder den LXC neu starten.
Bis jetzt alles ruhig hier. Der Ram ist nicht wirklich gestiegen, heute hatte ich aber wieder in der Log das mit dem daswetter Adapter... wie etwas weiter oben.
-
@d3ltoroxp sagte in Ram läuft voll:
Dort einfach abändern und die VM
oder den LXCneu starten.Das hatte ich gesehen und wollte mich vergewissern, ob das gefahrlos geht. Bei HDDs geht das nämlich angeblich nicht
-
@homoran Ram ändern geht.
Festplattengröße nur Richtung größer. -
@chaot
müsste aber auch gehen, halt so wie mit einer echten Festplatte.
Neue kleinere Festplatte anlegen, Daten kopieren,
aber nicht automatisiert durch proxmox selber -
@oliverio sagte in Ram läuft voll:
@chaot
müsste aber auch gehen, halt so wie mit einer echten Festplatte.
Neue kleinere Festplatte anlegen, Daten kopieren,Ja, so geht das
Aber nicht wie mit paragon oder anderen Festplattentools unter Windows im laufenden Betrieb
(wobei auch dort eine Verkleinerung am offenen Herzen mit Risiko behaftet ist -
@oliverio Dann bist du aber mit einer neuen VM schneller....
-
@chaot sagte in Ram läuft voll:
@homoran Ram ändern geht.
Festplattengröße nur Richtung größer.Jepp!
Hat geklappt - DankeSicherheitshalber vorher Backup gefahren
- iobroker gestoppt
- RAM Zuweisung verringert
- VM rebooted
ioBroker startet danach selber, die RAM-Zuordnung in der VM passte, im Proxmox-Adapter war noch einige Zeit der alte Wert, was mich erst etwas störte.
RAM "Verbrauch" in der VM war natürlich jetzt erst mal niedriger. SWAP im PVE war weg! Juchhu.
Und nach einiger Zeit ging dann auch die System-Load deutlich runter, die vorher anscheinend durch das Swapping entstanden warNochmals Danke und an alle Mitleser:
Bei der Verteilung des RAMs in den VMs unbedingt den Eigenbedarf der PVE berücksichtigen
-
@homoran sagte in Ram läuft voll:
Bei der Verteilung des RAMs in den VMs unbedingt den Eigenbedarf der PVE berücksichtigen
Wobei ich nirgendwo den "Bedarf" dokumentiert finde. Ich habe bei mir 2 GB unverteilt gelassen und das System läuft ohne große Lastprobleme, aber es wäre schon gut zu wissen wieviel tatsächlich mindestens benötigt wird.
Wenn du da mal was findest wäre es nett wenn du mir das mal weitersenden würdest.Der Proxmox Adapter muss nach so einer Aktion einmal neu gestartet werden. Dann holt er sich auch die aktuellen Systemwerte. Die werden scheinbar seltener aktualisiert als der Rest.
-
@chaot sagte in Ram läuft voll:
Ich habe bei mir 2 GB unverteilt gelassen und das System läuft ohne große Lastprobleme,
Ich habe im Moment nur einen NUC5PPYH zur Verfügung gehabt und der hat nur 8GB RAM. Da konnte ich keine 2GB RAM ungenutzt frei lassen
Offizielles habe ich nicht gefunden, hatte aber über den ProxMox Adapter folgendes gesehen:
von den 8 GB standen dem PVE nur 7.68 GB zur Verfügung, also habe ich 600 MB abgezogen
(Mag sein, dass dieser Wert bei mehr VMs oder LXCs anders ausfällt)@chaot sagte in Ram läuft voll:
Der Proxmox Adapter muss nach so einer Aktion einmal neu gestartet werden.
Das hat ja nicht gereicht - der war ja sowieso down als ich iobroker gestoppt hatte
Auch ein erneuter restart der Instanz hat nicht die aktuellen Werte gebracht, ein forced refresh des Browsers auch nicht.
Aber irgendwann stand es dann auch in den Objekten korrekt drin