NEWS
Hoher RAM Verbrauch ioBroker unter Windows
-
ioBroker braucht RAM das ist richtig, aber besonders unter Windows sollte man nicht mehr auf möglichst viel freien Arbeitsspeicher spekulieren. Gerade Windows nutzt freien RAM für alles mögliche. Bedenklicher scheint mir die 100% CPU Auslastung das macht mein ioBroker nicht. Ich denke auch Windows 8 ist nicht optimal für ioBroker, entweder Windows 10 oder ein Server-OS.
Du solltest bei anhaltenden Problemen den Tasks auf den Grund gehen die das verursachen, entweder mit Prozessexplorer oder ganz einfach mit dem Taskmanager bzw. Ressourcenmonitor.
Bei mir läuft ioBroker auf einem HP-Miniserver Gen8 mit Pentium CPU GT1610 (2,3 GHz oder sowas) und 16 GB über die üblichen 4 Wochen (wegen Patches) auf Windows 10 1903 sehr unauffällig. Deutlich besser als auf dem RASPI. Nebenbei verarbeitet der Rechner bei mir auch noch den Automation Server von Mediola, nimmt Musik auf, ist mein Gatewayserver von aussen und einiges mehr. Aktuelle CPU Last 21%. -
Auf meinem Server (beebox) läuft ein Windows 10 Pro 1803.
@klassisch In meinen Diagrammen hatte ich folgenden Datenpunkt aufgezeichnet: info.0.sysinfo.memory.info.available
@lobito Ich werde einmal schauen, ob ich mit dem Process explorer etwas mehr herausfinden kann.
Welche ioBroker /node Version setzt ihr auf euren Windows Systemen gerade ein?
Aus der Erinnerung heraus hatte ich "damals" das Problem auch nicht. Ich behaupte, dass sich der Server erst so komisch verhält als ich im Juni auf Node 8.16 aktualisiert habe. Das ist aber jetzt nur noch meine Erinnerung. -
Hallo,
speichere gerade "used" und "free" auf history. Die Zahlenwerte scheinen bei mir aber mit "active" und "available" identisch zu sein.
Anfangs habe ich nur Änderungen >100MBytes und mittlerweile >50MBytes aufgezeichnet. Ansonsten werden einfach zu viele unnütze Daten erzeugt. Habe noch nicht gefunden, wie man beim Info-Tab die sampling rate ändert. Ansonsten würde ich auch Systemauslastung bzw. Prozessorauslastung historisieren.
So sieht es seit gestern Mittag aus:
Also in der Tendenz etwa wie bei Dir.Meine Prozessorauslastung ist bei 20% bis 30%. Davon entfallen 3 bis 5% auf den UltraVNC, 1 bis 2% auf den TasManager und 1 bis 4% auf den Defender. 5 bis 15% auf eine andere, recht daten- und rechenintensive Applikation. Das nodejs - bundle ist schwierig zu erfassen. Viele Prozesse, die meistens bei 0% rumdümpeln. Manchmal blitzen ein, zwei mit um oder kleiner 1% auf.
Hatte zuerst Win10 1809 und mittlerweile 1903 drauf. Lief bisher immer stabil, keine ungeplanten Restarts. Nur nach Updates oder beim Einrichten bzw. Rumspielen.ioBroker mit dem Installer von @Stabilostick installiert.
C:\Program Files\iobroker\ioBrMain>node -v v10.16.0 C:\Program Files\iobroker\ioBrMain>npm -v 6.9.0 ioBroker.admin 3.6.2 Objekte: 8458, Zustände: 6605
Betriebsystemname Microsoft Windows 10 Pro Version 10.0.18362 Build 18362 Weitere Betriebsystembeschreibung Nicht verfügbar Betriebsystemhersteller Microsoft Corporation Systemname DESKTOP-irgendwas Systemhersteller LENOVO Systemmodell 20CL001JMS Systemtyp x64-basierter PC System-SKU LENOVO_MT_20CL_BU_Think_FM_ThinkPad X250 Prozessor Intel(R) Core(TM) i5-5300U CPU @ 2.30GHz, 2295 MHz, 2 Kern(e), 4 logische(r) Prozessor(en) BIOS-Version/-Datum LENOVO N10ET33W (1.12 ), 06.04.2015 SMBIOS-Version 2.7 Version des eingebetteten Controllers 1.11 BIOS-Modus Vorgängerversion BaseBoard-Hersteller LENOVO BaseBoard-Produkt 20CL001JMS BaseBoard-Version SDK0E50510 WIN Plattformrolle Mobil Sicherer Startzustand Nicht unterstützt PCR7-Konfiguration Bindung nicht möglich Windows-Verzeichnis C:\WINDOWS Systemverzeichnis C:\WINDOWS\system32 Startgerät \Device\HarddiskVolume1 Gebietsschema Deutschland Hardwareabstraktionsebene Version = "10.0.18362.267" Benutzername DESKTOP-irgendwas\admin Zeitzone Mitteleuropäische Sommerzeit Installierter physischer Speicher (RAM) 8,00 GB Gesamter physischer Speicher 7,70 GB Verfügbarer physischer Speicher 3,98 GB Gesamter virtueller Speicher 11,0 GB Verfügbarer virtueller Speicher 7,05 GB Größe der Auslagerungsdatei 3,25 GB Auslagerungsdatei C:\pagefile.sys Kernel-DMA-Schutz Aus Virtualisierungsbasierte Sicherheit Nicht aktiviert Unterstützung der Geräteverschlüsselung Ursachen dafür, dass die automatische Geräteverschlüsselung nicht erfolgreich war: Die PCR7-Bindung wird nicht unterstützt., Fehler bei der Schnittstelle für Hardwaresicherheitstests. Das Gerät unterstützt kein Modern-Standby. Hyper-V - VM-Monitormoduserweiterungen Ja Hyper-V - SLAT-Erweiterungen (Second Level Address Translation) Ja Hyper-V - Virtualisierung in Firmware aktiviert Nein Hyper-V - Datenausführungsverhinderung Ja
Ja, Win war leider in Legacy Bios und nicht in UEFI installiert.
Task Manager läuft normalerweise nicht mit.
Zur Grobkontrolle läuft CoreTemp, holt alle paar Sekunden die Temp und speichert sie alle 30 Sekunden in ein csv, welches ich ab und an via TotalCommander hole und in LibreOffice Calc sichte.
Alles im Grünen Bereich.
Schlanke Methode, aber empfindlich genug, um die o.g. deutlich erhöhte Prozessorlast nach Beenden des Remote Desktops ab dem ersten 1903 Update zu erkennen.
Die frühere Installation auf meinem OPi lief auch recht stabil (außer nach Kernel-Update). Am Ende kam es aber wegen Datenflut zu einigen history-restarts. -
@klassisch war jetzt mit UltraVNC auf dem Rechner und habe etwas herumgespielt. U.a. mit dem Process Explorer.
Daei kam es anscheinend zu einer Speicherbereinigung, garbage collection o.ä.
Kann man mit dem Prozess Explorer auch aufzeichnen?
-
Natürlich lässt sich aufzeichnen....
Geben Sie an der Befehlszeile procmon.exe, und drücken Sie Process Monitor starten. Schließen Sie das Eingabeaufforderungsfenster. Hinweis Wenn Sie dies tun, startet Process Monitor. Reproduzieren Sie das Problem. Klicken Sie im Menü Datei auf Speichern , um die Protokolldatei Process Monitor. Klicken Sie unter Ereignisse zu speichernaktivieren Sie das Kontrollkästchen alle Ereignisse . Klicken Sie unter FormatNative Process Monitor Format (PML) das Kontrollkästchen. Geben Sie im Feld Pfad einen Speicherort auf der Festplatte die Datei gespeichert werden soll.
procmon ist der prozess explorer
-
Welche ioBroker /node Version setzt ihr auf euren Windows Systemen gerade ein?
Betriebssystem
win32
Architektur
x64
CPUs
2
Geschwindigkeit
2295 MHz
Modell
Intel(R) Celeron(R) CPU G1610T @ 2.30GHz
RAM
15.84 GB
System Betriebszeit
1 T. 06:20:51
Node.js
v8.16.0 (Recommended version v10.16.2)
NPM
6.4.1
Anzahl der Adapter
252Übrigens ist es eine eher schlechte Idee wenn man den ioBroker unter Verdacht hat, mit diesem zu monitoren. Betriebszeit... wir hatten gestern 7h Stromausfall, war ganz toll niemand daheim ausser dem Hund und der Katze. Das war richtig Stress alles Remote wieder auf die Beine zu bringen.
-
@lobito sagte in Hoher RAM Verbrauch ioBroker unter Windows:
Natürlich lässt sich aufzeichnen....
Vielen Dank, aber bei mir gibt es dann immer nur eine 14k txt Datei mit einem snapshot. Ich hätte aber gerne den Verlauf.
-
@klassisch said in Hoher RAM Verbrauch ioBroker unter Windows:
@lobito sagte in Hoher RAM Verbrauch ioBroker unter Windows:
Natürlich lässt sich aufzeichnen....
Vielen Dank, aber bei mir gibt es dann immer nur eine 14k txt Datei mit einem snapshot. >Ich hätte aber gerne den Verlauf.
Hmm stimmt, dann bleibt nur perfmon... da muss man sehr genau definieren was man will. Ist im Lieferumfang von Win. Um es kurz zu machen, man muss einen neuen Datensammelsatz definieren und kann dann die Berichte abrufen. Mit etwas Hilfe von Google sollte das auch für Laien lösbar sein
Hint: https://www.pc-erfahrung.de/windows/anleitungen/performance-monitor-windows-perfmon.html
Gerade nochmal gegrübelt, wenn perfmon zu kompliziert ist. Sysmon könnte auch helfen.. Doku ist da: https://opdhsblobprod03.blob.core.windows.net/contents/6bb3fa9c72bf4849a1db2c526a264f46/63bb4b4d40dfe449aec96040a81c5f31?sv=2015-04-05&sr=b&sig=V7Xu0IBTlE43QYt85RXifPP4704F6c%2B0MG4HFhYPD8c%3D&st=2019-08-15T20%3A46%3A45Z&se=2019-08-16T20%3A56%3A45Z&sp=r -
Ich hab gestern noch einmal mit iobroker mitgeloggt. Hierbei wurde innerhalb von 24h der freie RAM von 12 GB auf 2 GB verringert. Die CPU Auslastung lag nach 24 zwichen 60 und 100%. Das System war hierbei kaum noch benutzbar über den Remotedesktop. Einen Dienst konnte ich bisher noch nicht identifizieren, welcher auf dem Rechner querschlägt.
Am Ende hat der Prozes wmiprvse ca. 30% CPU Leistung in Anspruch genommen. Hierzu habe ich das hier als Hilfe gefunden: https://support.microsoft.com/de-de/help/4483874/high-cpu-usage-by-wmiprvse-exe-process. Der Prozess scheint aber nach meinem Verständnis nicht die Ursache zu sein.
Ich mache gerade nochmal eine Aufzeichnung von CPU und RAM mit dem Tool perfmon. Danke für die Anleitung @lobito
Ebenfalls habe ich gestern abend erstmal alle noch offenen Windows Patches installiert, welche noch offen waren. Ein Upgrade auf Win 10 Version 1903 wird mir noch nicht angeboten. -
Bei mir sieht es aktuelle so aus:
Von Zeit zu Zeit scheint da auf bzw. umgeräumt zu werden.
CPU Last ist "normal" was ich aber indirekt über die Temp mitlogge.
Was Du auch tun kannst:- mit UltraVNC statt mit Remote Desktop auf den Rechner gehen. Wie oben erwähnt macht bei meinem System der Remote Desktop NACH dem Verlassen CPU-Last, was ich an der Temp sehe. Allerdings kam dies bei mir erst ab dem 1903 Update. Aber wer weiß....
- History Dateien mit dem Total Commander o.ä. anschauen, um grob zu sehen, wer wie viele Daten schreibt. Bei mir sind es derzeit 5 bis 8 MByte pro Tag, es waren aber schonmal deutlich mehr durch eine Prozessüberwachung. Ein Datensatz pro Sekunde sind aus meiner Sicht unnötig viel.
- Das Loging des Info-Adapters einschränken. Ich logge nur Speicheränderungen >= 50MByte, was die obigen Kurven ergibt und bei mir mit erträglichen 40kByte pro Kanal zu Buche schlägt. Prozessorlast logge ich gar nicht, da mir 1 Datensatz/s zu viel sind. Logge ich indirekt über die Temperaturen und die Leitung (in W) mit CoreTemp. Dabei lasse ich die Temp alle 5 sek anzeigen und alle 30sec in eine Datei speichern.
- Einzelne ioBroker-Adpter deaktivieren.
-
Das Speicher wieder freigegeben wird konnte ich leider bisher nicht beobachten. Das ist die Grafik von gestern wo über den Info Adapter alle 10s die Daten für RAM und CPU aktualisiert wurden:
Ich hab auch schon eine neue ioBroker Instanz aufgesetzt, welche nur die vorinstallierten Adapter enthielt und dort hatte ich das gleiche Verhalten.
Wenn ich in den nächsten Tagen keine wirkliche Lösung finde werde ich zum großen Hammer greifen und einmal Windows neu installieren. -
@Feuersturm sagte in Hoher RAM Verbrauch ioBroker unter Windows:
wo über den Info Adapter alle 10s die Daten für RAM und CPU aktualisiert wurden
Wo kannst Du die 10 Sekunden einstellen? Das habe ich noch nicht gefunden und meiner aktualisiert jede Sekunde. Meiner Meinung nach würde auch ein Datensatz pro Minute für solche Trenduntersuchungen reichen.
-
Gehe bei den Instanzen auf die Instanz info.0 und klicke dort auf den Werkzeugschlüssel. Dann scrollst du ganz nach unten und dort kannst du über die Schieberegler die Aktualisierungsrate einstellen.
-
Gibts bei mir nicht. Sieht so aus
Version 1.3.7 -
Hmm, ich hab auch die Adapterversion 1.3.7 installiert. Bei mir sieht es so aus:
-
Vielen Dank! Habe jetzt in der Adapteransicht den Upload Button gedrückt und dann siehts bei mir auch so aus. Aber leider ist das max Zeitintervall bei 10 Sekunden.
Temperaturen sehe ich noch immer nicht. -
Habe jetzt mal das Logging der Prozessorlast aktiviert. Für die Gesamtlast speichere ich Änderungen >=3 W auf und für system- und userload jeweils Änderungen >=2W auf. Weiß jemand, ob mit userload die ioBroker generierte Last gemeint ist?
-
Ich habe vor kurzem erst von 8Gbyte RAM auf 16 GByte RAM aufgerüstet. Heute kam mir der Gedanke, ob ggf. der neue RAM Baustein Probleme macht. Ich habe jetzt erstmal den neuen RAM Baustein entfernt und werde mal die nächsten 24h das System beobachten. Vielleicht ist es ja nur ein Hardwaredefekt
-
Da könnte vielleicht ein RAM-Test helfen.
Edit: Vielleicht hilft das: https://tuhlteim.de/ultimate-boot-cd-ubcd-download-usb-stick-cd-laptop-testenIch beobachte derweil weiter:
-
Bitte haltet mich auf Windows bezgl. RAM und CPU-Verbrauch von wmiprvse.exe und vor allem bzgl. der Anzahl von WMIC.EXE-Prozessen auf dem Laufenden.
Testet bitte auch, was mit dem CPU und RAM-Verlauf passiert wenn der Info-Adapter deaktiviert oder die Intervallrate für alle Counter im Info-Adapter auf 0 steht.
Danke.