NEWS
Windows Server 2019 - Defender permanent 3-7% CPU Auslastung
-
Hi Leute,
ich habe vor ein paar Tagen meine iobroker Instanz erfolgreich von Windows Server 2016 auf Windows Server 2019 migriert. Es läuft in der VM nichts anderes außer iobroker.
Windows Server 2019 (Hyper-V VM Gen2)
Node.js: 10.17.0
NPM: 6.11.3
js-controller: 3.1.6Es tut soweit alles wie es soll, mir ist aber eines aufgefallen, das vorher nicht der Fall war:
Windows Defender verursacht seit der Umstellung permanent eine CPU Auslastung von 3-7%...
Wenn ich die Echtzeit Überprüfung testweise deaktiviere, dann verschwindet auch die Auslastung.
Kann es sein, dass der Defender mit seiner neuen eingebauten Ransomeware Protection dauernd von iobroker "animiert" wird, die Daten zu überprüfen, die übermittelt/verarbeitet werden ?Hat jemand eine ähnliche Beobachtung gemacht ?
Gibts dazu eine Lösung oder einfach per Holzfällermethode den iobroker Ordner zu den Ausnahmen hinzufügen ?
-
Hat sonst jemand, der iobroker auf Windows laufen hat, auch dieses Problem, dass der Defender permanent CPU Auslastung verursacht ?
Ausnahme für iobroker hinzufügen hilft leider auch nix ...
@Stabilostick Hast du eventuell eine Erklärung dafür oder eine Abhilfe ?
-
@Qlink Bei Dir ist der Rechenleistungsbedarf etw so hoch wie der hungrigste node-js Prozeß. Das ist bei mir auch in etwa so, allerdings sind die Absolutzahlen nur halb so groß. Könnte u.U an der Prozessorleistung liegen. i5-600U hier.
Mit dem Programm AppReadWriteCounter kannst Du schauen, welcher Porzeß wie viel liest oder schreibt.
Und dort verrät @paul53 einen Trick, wie man das Schreiben der States Datenfies von 30 Sekunden auf z.B. 300 Sekunden ausdünnen kann.
Diese Schreiben der States soll den Datenverlust bei Systemabsturz auf die eingestellte Zeit begrenzen. Mit 5min Datenverlust beim Absturz des Windowsrechner kann ich leben. Hatte ich auf dem ioBrokersystem noch nicht. Wenn Windows bzw. ioBroker ordnungsgemäß beendet werden, dann werden zuvor auch die States ordentlich rückgesichert. -
@klassisch Danke. Das Tool kannte ich noch nicht. Ich lasse das mal ein Weilchen laufen und poste dann die Statistik.
Ich hab iobroker in einer Hyper-V VM laufen. Der VM hab ich 4 Cores meines 2,2 Ghz Xeon-S 4214Y (12 Core) zugewiesen...
Das seltsame ist, dass ich diese hohe Defender Auslastung auf meiner alten Windows Server 2016 iobroker Instanz nicht hatte...
-
@Qlink So professionell mit Xeon und Co bin ich nicht, da kann ich nicht mithalten. Wie gesagt refurbished Notebook mit 2 Kerner. Aber für ioBroker massiv überdimensioniert. Habe allerdings noch eine hungrigere 24/7 Applikation drauf laufen.
Das o.g. Tool ist übrigens auch hungrig. Braucht bei mir 12% -
Ich hab jetzt nach 2h mal nen Screenshot gemacht:
Das wären durch iobroker dann ca. 20GB pro Tag an Writes und 8,4GB durch Defender ...
Ist das normal ?
Verstehe ich es richtig, dass mit dem Trick von Paul die Writes ca. auf 2GB (iobroker) und 840MB (Defender) reduziert werden können ?
-
@Qlink sagte in Windows Server 2019 - Defender permanent 3-7% CPU Auslastung:
Ich hab jetzt nach 2h mal nen Screenshot gemacht:
Das wären durch iobroker dann ca. 20GB pro Tag an Writes und 8,4GB durch Defender ...
Ist das normal ?Das mit 20GB/d durch ioBroker war bei mir ähnlich wie im anderen Post berichtet Da war das Geschehen dominiert von den zwei states Dateien, die zusammen 8 bis 10 MByte groß sind und alle 30 Sekunden geschrieben werden.
Meine Installation hat: Objekte: 11762, Zustände: 10039Das mit Defender habe ich nicht verstanden. Wo findet man dessen Werte (smartscreen)?
Verstehe ich es richtig, dass mit dem Trick von Paul die Writes ca. auf 2GB (iobroker) und 840MB (Defender) reduziert werden können ?
Also bei mir (Objekte: 11762, Zustände: 10039) waren es mit Pauls Trick ca. 4.3GB in 36h also <2.9GB/d
Skaliert nicht linear, weil ioBroker ja noch mehr schreibt als nur States.
Dazu kommen noch die History Datem, die ich allerdings auf eine andere Platte schreibe. Aber halt, denke, die werden dennoch mitgezählt. Dieses Programm unterscheidet nicht nach Platten.
Nach Platten kann das Programm SsdReady aufteilen. Dessen Freeversion ist aber sehr kursorisch. Wenn man Details will, kostet es 14 EUR oder so. Kann sich lohnen. Bei mir gerade nicht.
Das mit Defender kann ich nicht zuordnen, s.o.
Halt, vielleicht doch, man kann ja suchen. Bei meinem Rechner hat der Prozess "smartscreen" in 36h 452MByte gespeichert, also etwa 300MByte/dDu kannst ja noch das Dir für History vom Defender ausnehmen.
Ich finde Pauls Trick klasse. Denn auch wenn Ressourcen nicht mehr so knapp sind, muß man sie nicht verprassen. Und eine Ausfallsicherung alle 5 Minuten reicht mir. Vor 10 Jahren hatte ich gar keine Datenerfassung und keinen ioBroker.
-
Hab den Trick von Paul mal angewandt und über Nacht laufen lassen:
iobroker hat jetzt nur noch 4GB in 11h -> das wären dann 8,7GB/d, die iobroker Writes haben sich also um ca. 60% reduziert ! Genial. Der 5min Intervall reicht mir natürlich auch völlig.
Der Defender(msmpeng.exe) scheint jetzt allerdings nochmal mehr zugelegt zu haben.
Defender 7,4GB in 11h -> das wären dann 16GB/d an Defender Writes ...Ich habe das ganze iobroker verzeichnis als Ausnahme hinzugefügt:
Das scheint ihn nicht weiter zu berühren.
Hast du sonst noch eine Idee wie ich den Defender einfangen kann ?
Beste Grüße
-
@Qlink Ah, danke, jetzt kapiere ich, daß MsMpEng nur der Defender ist. Dachte, das sei etwas vom Betriebssystem und habe mich nicht drum gekümmert.
Wie Du dort https://forum.iobroker.net/post/511522 sehen kannst, schreibt der bei mir auch etwa doppelt so viel wie node.exe. Also auch etwa so wie bei Dir.
Habe Schnellüberprüfung eingestellt.Vielleicht braucht er bei Dir erst mal mehr, weil das eine neue Installation ist und er noch nicht überall durch ist? Aber reine Spekulation. Ich kenne die Arbeitsweise des Defender nicht wirklich.
-
Habe nochmals nachgeschaut: Habe das ioBroker Verzeichnis und jetzt auch noch das Verzeichnis der History-Daten ausgeschlossen.
-
Nochmals 10h Messung:
-
Das System ist schon ein paar Monate am Laufen, da sollte er schon mehrmals durch sein.
Habe ebenfalls Quickscan eingestellt.
Habs weiterlaufen lassen:
nach 37,5h ergibt das aktuell folgendes Bild:
Defender: 16GB -> 10,2GB/d
iobroker: 13,7GB -> 8,7GB/dZumindest beruhigt es mich etwas, dass bei dir der Defender ebenfalls mehr Last auf den Disken erzeugt, als iobroker selbst... Was es allerdings nicht besser macht.
Eventuell hat ja einer der Devs ein Erklärung/Lösung dafür ?
@Stabilostick @Bluefox @apollon77 -
@Qlink die Schreibzyken des Defender zähle ich einfach zu den Systemgrundkosten zu. Dann kommt man auf <4TBW Systemkosten pro Jahr, womit die heutigen SSDs zurecht kommen. Bei der Rechenzeit pendelt Antimalware bei mir zwischen 0.6% und 2.9% Auch das rechne ich den Grundkosten zu.
Aber ich verstehe nicht, warum das bei Deinen 4 Xeon-Kernen mehr ist als bei 2 Mobil-Kernen des i5-6300U -
@Qlink Keinen Blassen schimmer was der Defender da tut ... sorry
-
@Qlink sagte in Windows Server 2019 - Defender permanent 3-7% CPU Auslastung:
Das System ist schon ein paar Monate am Laufen, da sollte er schon mehrmals durch sein.
Habe ebenfalls Quickscan eingestellt.
Habs weiterlaufen lassen:
nach 37,5h ergibt das aktuell folgendes Bild:
Defender: 16GB -> 10,2GB/d
iobroker: 13,7GB -> 8,7GB/dBei mir so ähnlich
nach 37.5h
Defender ca 9GB
ioBroker ca. 5GB -
Hab weiterlaufen lassen.
Nach 82,5h schauts nun so aus:
Defender: 26,2GB -> 7,6GB/d
iobroker: 23,7GB -> 6,9GB/dSchaut so aus als ob sich die Writes noch weiter einpendeln, sowohl beim Defender als auch bei iobroker.
D.h. von den TBW ist es nun wirklich vertretbar.
Das einzige was mich trotzdem stört ist die CPU Auslastung von Defender, die weiterhin zwischen 5 - 10% liegt und somit unnötig 24x7 Strom/Geld verbraucht...Ich werde denke ich mal testweise den Defender deinstallieren und einen anderen Virenscanner testen, ob er ein ähnliches Verhalten an den Tag legt ...
-
@Qlink Starte die Messung doch mal neu, damit Du die Altlasten loswirst.
Ja, der Leistungsverbrauch Deines Defenders passt nicht.Ich habe jetzt mal einen 48h Test mit einem Win 10 Laptop im idle gemacht und muß mich bezüglich der Grundkosten revidieren
Defender und svchost liegen Kopf an Kopf um die 800MByte in 48h.
Also liegen die Grundkosten ohne ioBroker bei ca. 400MByte/d jeweils für Defender und svchost und ioBroker treibt das schon in die Höhe. Gut, bei mir werden noch viele History Daten geschrieben. Zwar auf eine andere Platte, aber das unterscheidet das Tool nicht. Allerdings habe ich auch diese Verzeichnisse im Defender ausgenommen. Hab den Eindruck, das interessiert den gar nicht.