Die Auslagerungsdatei von Windows Server 2016 wird nicht vergrößert

Die Auslagerungsdatei von Windows Server 2016 wird nicht vergrößert

Ich entschuldige mich im Voraus, wenn dies nicht klar genug ist, um mein Problem zu verstehen. Es ist etwas lang, aber ich habe mein Bestes getan, um es verständlich zu machen.

Ich führe Exchange 2016 CU6 auf einer Windows Server 2016-VM aus und erhalte im Anwendungsprotokoll häufig die Warnung, dass ich nicht mehr genügend virtuellen Speicher (Auslagerungsdatei) habe.

Bildbeschreibung hier eingeben

Meine Überwachung zeigt, dass die Auslagerungsdatei seit der Erstellung der VM im April 4 GB groß war und nie über 4 GB hinaus angewachsen oder verkleinert wurde.

Bildbeschreibung hier eingeben


Um dieses Problem zu beheben und zu verstehen, worum es geht, habe ich zwei Test-VMs mit einer Standardinstallation von Windows Server 2016 Standard und Windows Server 2008 R2 Enterprise erstellt, beide mit derselben physischen und virtuellen Speicherkonfiguration:

Testen der VM-Konfiguration

RAM: 4GB

Datenträger C (für das System reserviert): 32 GB

Datenträger G (reserviert für die Auslagerungsdatei): 8 GB

Auslagerungsdatei für Laufwerk C:: 512 bis 1024 MB

Auslagerungsdatei für Laufwerk G: Vom System verwaltete Größe

Bildbeschreibung hier eingeben

Meine Test-VM 2016 nutzt derzeit 512 MB auf dem Laufwerk C: und 1 GB auf dem Laufwerk G:, also insgesamt 5,5 des zugesicherten Speichers.

Bildbeschreibung hier eingeben

Die Test-VM 2008 nutzt derzeit 512 MB auf dem Laufwerk C: und 4 GB auf dem Laufwerk G:, was insgesamt 12,5 GB an zugewiesenem Speicher entspricht.

Bildbeschreibung hier eingeben


Nachdem ich viel über das gebundene Gedächtnis recherchiert hatte, bin ich auf diesen Artikel von Mark Russinovitch gestoßen:https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

Ich habe beschlossen, das Tool testlimit64.exe mit dem Schalter -m zu verwenden, um zu sehen, ob die Auslagerungsdatei auf der Test-VM 2016 und der Test-VM 2008 größer wird.

Das Ergebnis spiegelt das eingangs erläuterte Problem wider, bei dem die Auslagerungsdatei auf der Test-VM 2016 auf dem Laufwerk G: nicht zunimmt, auf der Test-VM 2008 jedoch schon:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben


Laut diesem Microsoft KB:https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/automatic-memory-dump, mit der Einstellung „Automatischer Speicherauszug“ unterSystemsteuerung->System->Erweiterte Systemeinstellungen->Start und Wiederherstellung->Debuginformationen schreibenWenn die Auslagerungsdatei als systemverwaltet konfiguriert ist, kann sie auf eine Größe eingestellt werden, die kleiner ist als die Menge des physischen Speichers.

Bei den von mir durchgeführten Tests wurde diese Einstellung nicht verwendet. Sowohl die Test-VM 2008 als auch die Test-VM 2016 waren mit Kernel-Speicherauszug konfiguriert.

Bildbeschreibung hier eingeben

Wenn ich also die Auslagerungsdatei auf dem Laufwerk G: auf der Test-VM 2016 auf „Vom System verwaltet“ einstelle, wird ihre Größe automatisch von Windows festgelegt und erhöht sich unter Last nicht.Dies ist der Kern des Problems, da es sich um eine Verhaltensänderung bei Windows Server 2008 handelt.


Mein letzter Test bestand darin, die Auslagerungsdatei auf dem Laufwerk G: manuell auf 4096 - 8100 MB zu konfigurieren und das Tool testlimit64.exe erneut mit dem Schalter -m auszuführen. Wie Sie sehen, vergrößert sich die Auslagerungsdatei von 4 GB auf ~8 GB.

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben


Hier ist meine Frage: Warum erhöht Windows Server 2016 die Größe der Auslagerungsdatei nicht, wenn sie auf systemgesteuert eingestellt ist? Was hat sich diesbezüglich zwischen Windows Server 2008 und 2016 geändert?

Vielen Dank, dass Sie alles durchgelesen haben und für Ihre Antworten.

Antwort1

Entsprechend Dieser ArtikelFür Server 2016 werden systemverwaltete Auslagerungsdateien wie folgt dimensioniert:

3 × RAM or 4 GB, whichever is larger. This is then limited to the volume size ÷ 8. However it can grow to within 1 GB of free space on the volume if required for crash dump settings.

Für Server 2008 heißt es:

3 × RAM or 4 GB, whichever is larger

Es hört sich also so an, als ob Sie die 1/8-Regel sehen, die auf Server 2016 durchgesetzt wird.

Hoffe, das hilft ... Prost

verwandte Informationen