Forum: PC Hard- und Software Windows Server "Nonpaged kernel memory" steigt ständig


von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Hallo allerseits,

nachdem ich sonst ratlos bin, hoffe ich dass mir vielleicht hier jemand 
einen tipp geben kann...

ich habe beim Kunden einen (virtualisierten) Windows 2016er Server 
stehen, bei dem der Speicher immer weniger wird. Process Explorer zeigt 
einen Wert für "Kernel Nonpaged Memory" von knapp 11 GB an, der memory 
Graph von VMware zeigt einen über die Wochen stetig und konstant 
steigenden Speicherverbrauch an.

Es ist kein "normaler" Speicherverbrauch eines Prozesses; wenn man die 
zusammenzählt kommt man niemals auf die Summe.

Google meint, dieser Effekt wäre auf ein Speicherleck in einem 
Hardware-Treiber zurückzuführen (deswegen auch "Kernel memory"), und 
"nonpaged " tut natürlich doppelt weh, weil für die Applikationen immer 
weniger übrig bleibt. Workaround ist derzeit, regelmäßig den Server am 
WE neu zu starten, dann ist wieder für 4-6 Wochen Ruhe (aber der 
Speicherverbrauch steigt wieder kontinuierlich an)

Das Witzige ist: Wir hatten vor ca. einem halben Jahr genau denselben 
Effekt auf einem anderen Server (damals 2012er), wie konnten die Ursache 
niemals finden, haben uns aber auch nicht mehr wirklich bemüht, da der 
alte Server ja genau durch den jetzigen ersetzt werden sollte (und 
mittlerweile ersetzt ist). jetzt haben wir den Salat...

Ich wäre für Ideen wirklich sehr dankbar!

Beitrag #5331615 wurde von einem Moderator gelöscht.
von Tim S. (Firma: tsx89) (freak_ts) Benutzerseite


Lesenswert?

Wurden denn Hardwarekomponenten oder Treiber bzw. Einstellungen über 
Backup oder "Wiederherstellungstools" auf den neuen Server mitgenommen, 
und es ist ggf. einfach nur der selbe "alte" Fehler?? Irgend ne doofe 
Software? Und der neue Unterbau "unterstützt" diesen Fehler einfach 
weiterhin!!???

: Bearbeitet durch User
von oszi40 (Gast)


Lesenswert?

Michael R. schrieb:
> da der alte Server ja genau durch den jetzigen ersetzt werden sollte

Der Speicherfresser sollte einen Namen haben? Bei mir war es eine *.log, 
die täglich fetter wurde und letztendlich das ganze System bei der 
Arbeit behinderte. Suche mal die Deine größten Dateien.

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Tim S. schrieb:
> Wurden denn Hardwarekomponenten oder Treiber bzw. Einstellungen
> über
> Backup oder "Wiederherstellungstools" auf den neuen Server mitgenommen,
> und es ist ggf. einfach nur der selbe "alte" Fehler?? Irgend ne doofe
> Software? Und der neue Unterbau "unterstützt" diesen Fehler einfach
> weiterhin!!???

Nein, der neue Server wurde komplett "from scratch" neu aufgesetzt. 
Natürlich läuft (zumindest teilweise) die gleiche Software drauf. Alles 
was ich über "kernel nonpaged memory" weiss, ist dass es kein Software- 
bzw. User-Prozess-problem sein sollte... Der Speicher wird auch nicht 
mehr freigegeben, wenn man so ziemlich alles beendet was so läuft...

oszi40 schrieb:
> Suche mal die Deine größten Dateien.

ich kann mich irren, aber große sollten keinen kernel memory und schon 
gar keinen nonpaged verbrauchen...

von (prx) A. K. (prx)


Lesenswert?


von Icke ®. (49636b65)


Lesenswert?

Michael R. schrieb:
> Nein, der neue Server wurde komplett "from scratch" neu aufgesetzt.
> Natürlich läuft (zumindest teilweise) die gleiche Software drauf.

Ist es geheim, welche? Sind Virenscanner installiert?

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Danke an prx, poolmon.exe ist mal installiert. Gestern Abend wurde der 
Server neu gestartet, derzeit liegt der Nonpaged pool bei (normalen) 
400k... ich denke mit dem poolmon haben wir gute Chancen, den Übeltäter 
zu identifizieren, wir werden halt ein paar tage warten bis der 
Verbrauch wieder ansteigt.

von Sheeva P. (sheevaplug)


Lesenswert?

Michael R. schrieb:
> Das Witzige ist: Wir hatten vor ca. einem halben Jahr genau denselben
> Effekt auf einem anderen Server (damals 2012er), wie konnten die Ursache
> niemals finden, haben uns aber auch nicht mehr wirklich bemüht, da der
> alte Server ja genau durch den jetzigen ersetzt werden sollte (und
> mittlerweile ersetzt ist). jetzt haben wir den Salat...

Vorweg: ich kenne mich mit Windows überhaupt nicht aus. Aber als 
erfahrener Systemtechniker würde ich da mal ein paar Fragen ins Blaue 
stellen:

Kann es sein, daß die Software direkt mit Treibern interagiert, und 
dabei nicht korrekt aufräumt? Das sollte bei einem sauberen 
Systemkonzept nicht möglich sein und halt ich bei einem aktuellen 
Windows für ausgeschlossen.

Gibt es eventuell ähnliche Hardware und / oder ähnliche Treiber auf 
beiden Servern? Windows ist mittlerweile recht stabil, so daß ich Memory 
Leaks im Windows-Kernel mittlerweile sicher ausschließen würde.

Gibt es irgendwas Exotisches an Hardware, Treibern, oder 
Applikation(en)?

Was ist der Hypervisor der Virtualisierung?

Gibt es irgendwelche Spezialitäten wie Passthrough, PCIe, PCI oder USB?

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Sheeva P. schrieb:
> Kann es sein, daß die Software direkt mit Treibern interagiert, und
> dabei nicht korrekt aufräumt?

Nein, zumindest keine von der ich wüsste. Das ist ein "ganz normaler" 
Applikationsserver, der ~600 Clients bedient, und mit einer 
SQL-Datenbank (auf einem anderen Server) spricht. nichts 
hardware-nahes...

> Gibt es eventuell ähnliche Hardware und / oder ähnliche Treiber auf
> beiden Servern?

Jein. Das Ding läuft (mit vielen anderen Servern) auf einem Blade 
Center, die sind also hardwaremäßig praktisch alle identisch.

> Gibt es irgendwas Exotisches an Hardware, Treibern, oder
> Applikation(en)?

Definiere "exotisch" :-) Aber nein, mir viele nichts ein. Die Art des 
App-Servers haben wir in (sehr) ähnlicher Konstellation bei fast allen 
Kunden so laufen, auf unterschiedlichsten Umgebungen (mal virtuell, mal 
Blech)

Sheeva P. schrieb:
> Was ist der Hypervisor der Virtualisierung?

VMware, das "Große" (also irgendein ESX oder so, da kenn ich mich zu 
wenig aus, muss mich eigentlich auch nciht interessieren, ich krieg nur 
einen Server "zur Verfügung gestellt"

> Gibt es irgendwelche Spezialitäten wie Passthrough, PCIe, PCI oder USB?

Nicht dass ich wüsste. Am alten Server war ein USB-Lizenzdongle über 
einen USB-to-LAN Adapter (Silex) eingebunden, den hatten wir damals zwar 
auch im Verdacht, aber der aktuelle Server hat das nicht mehr.

von (prx) A. K. (prx)


Lesenswert?

Michael R. schrieb:
> VMware, das "Große" (also irgendein ESX oder so, da kenn ich mich zu
> wenig aus, muss mich eigentlich auch nciht interessieren, ich krieg nur
> einen Server "zur Verfügung gestellt"

Wenn bei ESXi die VMware Tools installiert sind, dann gibt es einen 
"Balloon Driver", der auf Wunsch des Hypervisors bei Speicherknappheit 
dem Gastsystem Speicher klaut. Allerdings dürfte das kaum in kleinen 
Häppchen ansteigend erfolgen. Und es lässt sich über die 
Ressourcen-Statistik in der Management-Oberfläche des ESXi feststellen.

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

A. K. schrieb:
> Wenn bei ESXi die VMware Tools installiert sind, dann gibt es einen
> "Balloon Driver", der auf Wunsch des Hypervisors bei Speicherknappheit
> dem Gastsystem Speicher klaut. Allerdings dürfte das kaum in kleinen
> Häppchen ansteigend erfolgen. Und es lässt sich über die
> Ressourcen-Statistik in der Management-Oberfläche des ESXi feststellen.

Guter Hinweis, Danke! Dem werden wir nachgehen...

aber: soweit ich weiss ist Balooning auf 65% Guest Memory begrenzt, uns 
fehlt signifikant mehr. Weiters arbeitet Balooning doch nicht mit 
Nonpaged Kernel memory, oder? Sondern eher mit "ganz normalem" 
user-memory von der free list, es geht ja nur darum derzeit vom Gast 
nicht benutzten Speicher dem Host zurückzugeben... korrigiere mich, wenn 
ich falsch lieg.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Michael R. schrieb:
> Weiters arbeitet Balooning doch nicht mit
> Nonpaged Kernel memory, oder? Sondern eher mit "ganz normalem"
> user-memory von der free list, es geht ja nur darum derzeit vom Gast
> nicht benutzten Speicher dem Host zurückzugeben... korrigiere mich, wenn
> ich falsch lieg.

Auf diesen Speicher darf durch das Gastsystem in keinem Fall zugegriffen 
werden. Es darf auch nicht auf die Idee kommen, ihn rauszupagen. Also 
kommt nur nonpaged memory in Frage.

Es geht bei diesem Verfahren darum, den Speicher-Druck an das Gastsystem 
weiterzugeben. Gastsysteme neigen sinnvollerweise dazu, fast allen 
Speicher zu nutzen, und sei es als Disk-Dache. Also wird per Balloon 
Driver Speicher angefordert und das Betriebssystem darf sich überlegen, 
wo es den herholt. Ob das ungenutzter Speicher ist, reduzierter 
Disk-Cache, oder was auch immer.

: Bearbeitet durch User
von Sheeva P. (sheevaplug)


Lesenswert?

Michael R. schrieb:
> Sheeva P. schrieb:
>> Gibt es eventuell ähnliche Hardware und / oder ähnliche Treiber auf
>> beiden Servern?
>
> Jein. Das Ding läuft (mit vielen anderen Servern) auf einem Blade
> Center, die sind also hardwaremäßig praktisch alle identisch.

Das heißt, der neue Server läuft auf identischer Hardware und ist nur 
größer dimensioniert? Dann könnte es natürlich irgendeinen Treiber 
betreffen, der ein Memory Leak hat. Leider (in diesem Fall) kenne ich 
mich mit Windows nicht gut genug aus, um Tipps zu geben, wie man das 
debuggen könnte.

Ansonsten habe ich aber noch so eine Idee: kann es sein, daß da 
vielleicht viele Netzwerkverbindungen offengehalten werden? Das Problem 
kenne ich von einigen Loadbalancern und Firewalls: wenn ein Client die 
Connection beendet, geben LB oder FW das nicht korrekt weiter, so daß 
die Verbindung zwischen LB/FW und Server weiterhin bestehen bleibt und 
dann natürlich serverseitig weiterhin Ressourcen belegt.

von Jens G. (jensig)


Lesenswert?

> Michael Reinelt (fisa)

>Nein, zumindest keine von der ich wüsste. Das ist ein "ganz normaler"
>Applikationsserver, der ~600 Clients bedient, und mit einer
>SQL-Datenbank (auf einem anderen Server) spricht. nichts
>hardware-nahes...

Läuft da vielleicht ein Appl-Server-Trace mit? Wenn das File immer 
weiter wächst, und nie geschlossen wird, wird auch Speicher im nonpaged 
Pool allokiert. Wenn mich nicht alles täuscht, waren es zu 32bit Zeiten 
wohl so 4k pro 1MB Filegröße, was aufgrund des limits von 200MB damals 
dann ein Filesizelimit von einigen 10GB bedeutete, die gleichzeitig 
offen sein konnten (ich meine nicht einfach offene Files, sondern paar 
10GB gelesene Filepages, die evtl. nicht wieder geschlossen werden).
Also mal rumgucken, ob da nicht irgendwo irgendein File irgendwo 
rumliegt, was vom App-Server nach Reboot immer wieder neu beschrieben 
(oder gescant) wird, und dabei permanent offen bleibt.

von Michael R. (Firma: Brainit GmbH) (fisa)


Angehängte Dateien:

Lesenswert?

So, wir haben grad wieder einen Fast-Stillstand. Das System ist 
praktisch tot, mit ewigem Warten konnte ich ein paar Screenshots 
anfertigen...

interessanterweise ist das problem diesmal ein etwas anderes: Nonpaged 
Memory liegt bei (nur) etwa 2 GB, aber der restliche Speicher ist 
faktisch aufgebraucht.

Zufällig bin ich über die Anzeige "Threads" gestolpert, weit über 
100.000, was mir dann doch etwas viel vorkommt...

Nach 15 Minuten Warten auf den task-Manager war der Übeltäter schnell 
identifiziert: McAffee, zwei Prozesse mit jeweils grob 85.000 Threads, 
und 5 bzw. 6 GB Commit Charge.

Ist das normal? Kann sich jemand einen Reim darauf machen?

von Icke ®. (49636b65)


Lesenswert?

Michael R. schrieb:
> Nach 15 Minuten Warten auf den task-Manager war der Übeltäter schnell
> identifiziert: McAffee, zwei Prozesse mit jeweils grob 85.000 Threads,
> und 5 bzw. 6 GB Commit Charge.

Ich habe nicht umsonst gefragt:

Icke ®. schrieb:
> Sind Virenscanner installiert?

von (prx) A. K. (prx)


Lesenswert?

Michael R. schrieb:
> Ist das normal?

Nein. Habe ich mit McAfee auch noch nicht erlebt.

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Hallo Leute,

ich denke das Problem ist gelöst: Seit der McAfee deinstalliert ist, 
bleibt auch der NonPaged-Pool recht konstant bei knapp über 300 kB.

Der Kunde ist eh begrenzt unglücklich über die Deaktivierung des McAfee: 
Laut denen ist das mehr Fluch als Segen, die hatten in der vergangenheit 
immer wieder massivste Probleme mit dem Ding...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.