Windows Server 2008 R2 64-Bit-Speicherverlust

12

Ich habe Probleme mit einem meiner Büroserver. Es ist ein virtualisierter Windows 2008 R2 Server mit 6 GB RAM Speicher. Es verfügt nur über Microsoft SQL Server (Speicher zugewiesen maximal = 3 GB) und nur über eine Software, die nicht mehr als 1 GB RAM verbraucht. Der RAM-Speicher des Servers ist jedoch fast voll, und wenn man die Prozesse im Task-Manager betrachtet, scheint dies nicht zu summieren. Ich habe RamMap installiert, kann es aber nicht leicht interpretieren. Gibt es einen "hohen Wert", den Sie identifizieren können?

Bildbeschreibung hier eingeben

Guillermo Zooby
quelle
1
Das Sortieren nach "Gesamt" oder "Aktiv" hätte die Antwort ziemlich offensichtlich gemacht.
Dmitry Grigoryev

Antworten:

18

Nun, ich sehe ~ 3,2 Gigabyte Driver Locked-Speicher, der sofort als verdächtig auffällt.

Diese Art von Speicher, Driver Locked Memory, ist ein Speicher, der von einem Kernel-Modus-Treiber gesperrt wurde. In der Regel zum Zweck der Übertragung kleiner Datenmengen, normalerweise für kurze Zeiträume.

Wenn Sie also über einen langen Zeitraum einen großen Teil des vom Treiber gesperrten Speichers haben, ist dies normalerweise ein Zeichen dafür, dass etwas nicht stimmt.

Ich werde hier eine wilde Vermutung anstellen und vermuten, dass dies der VMware-Ballontreiber ist, da Sie erwähnt haben, dass es sich um einen virtualisierten Server handelt. Ich habe nicht genügend Daten, um Ihnen sagen zu können, warum dies der Fall ist, aber es gibt viele Fälle und VMware-Support-KBs wie diese , die speziell dafür sprechen, dass der Ballontreiber fälschlicherweise große Mengen an Speicher behält, wenn dies nicht der Fall sein sollte. ' t sein.

Sie müssen auch die Möglichkeit in Betracht ziehen, dass sich der Sprechblasen-Treiber wie vorgesehen verhält und versucht, die Speicherseite Ihres Servers zu verkleinern, da dringend Speicher für eine andere VM auf demselben Host benötigt wird.

Es gibt noch eine andere Möglichkeit, dass es sich überhaupt nicht um einen dynamischen Hypervisor-Speichertreiber handelt, sondern nur um einen falschen Gerätetreiber.

Treiber weisen normalerweise Speicher zu, der mit einem drei- oder vierstelligen Tag "gekennzeichnet" ist, das einen Hinweis darauf gibt, welcher Treiber für die Zuordnung verantwortlich war.
poolmon.exe, Teil des Windows SDK / DDK, kann bei der Diagnose helfen.

Wie ich schon sagte, wilde Vermutung, aber es ist das Beste, was ich mit den Daten machen kann, die ich habe.

Ryan Ries
quelle
16

Nun, ich habe von 2005 bis 2016 jede erdenkliche Version von SQL Server vor Ort, und ich habe keine so großen Speicherverluste wie 100% des tatsächlich verwendeten Mem festgestellt. Überprüfen Sie, ob der dynamische Speicher für Ihre virtuelle Maschine aktiviert ist .

Driver Lockedist eine Figur, auf die du dich konzentrieren solltest. In Ihrem speziellen Fall Driver Lockedhandelt es sich wahrscheinlich um einen der Hyper-V-Treiber, der den gesamten nicht verwendeten Speicher (der der VM zugewiesen, aber von ihr nicht verwendet wird) gesperrt hat, damit er einer anderen VM, die mit dynamischem Speicher konfiguriert ist, oder sogar einer anderen VM "gegeben" werden kann Host-Betriebssystem, je nachdem, welches gerade benötigt wird. Sie können dies testen, indem Sie eine große Datei oder eine speicherintensive App in dieser virtuellen Maschine öffnen. Der DriverLocked-Speicher sollte mit zunehmender Anzahl anderer Kennzahlen ausfallen. IMHO sollte dies kein Grund zur Besorgnis sein, wenn Sie nicht zu viel Arbeitsspeicher auf allen VMs bereitgestellt haben.

Kitet
quelle
5
Ich habe dich um 8 Sekunden geschlagen ... Willkommen bei Server Fault. :)
Ryan Ries
Sie haben in der Tat :-)
Kitet