it-swarm-eu.dev

Empfohlene Auslagerungsdateigröße für SQL 2008R2 unter Windows 2008R2

Dieser Microsoft-Artikel - So ermitteln Sie die geeignete Auslagerungsdateigröße für 64-Bit-Versionen von Windows Server 2008 und/oder Windows 2008 R2 enthält Anleitungen zur Berechnung der Auslagerungsdateigröße für 64-Bit-Windows 2008 und Windows 2008R2. Dies funktioniert zweifellos gut für Allzweck-Server. Ich frage mich, wie die Anleitung für SQL Server 2008R2 unter Windows 2008/R2 64-Bit lautet.

Ich gehe davon aus, dass so wenig Speicherdaten auf die Auslagerungsdatei treffen sollen, andernfalls könnte SQL die Festplatte zweimal auf Daten treffen. Erlaubt SQL Server überhaupt, dass Daten im Speicher auf die Auslagerungsdatei treffen ? Ich habe SQL Server 2008 R2 Books Online als Anleitung durchgesehen, aber noch keine Erwähnung der Verwendung von Auslagerungsdateien gefunden.

Hier ist ein mögliches Nutzungsszenario: Ist bei einem physischen Server mit 64 GB RAM eine Auslagerungsdatei für die gesamten 64 GB RAM erforderlich? Sollten wir uns darauf einstellen? 96 GB Auslagerungsdatei? Das scheint für eine einzelne Datei etwas übertrieben. Ich weiß, dass Windows die Auslagerungsdatei mit dem Speicher koppelt, um das Auslagern von Apps im RAM zu vereinfachen. Aber stimmt das? Beeinträchtigt eine Auslagerungsdatei mit weniger als 64 GB hier die Leistung?

25
Kev

Es gibt keine speziellen Einstellungen für SQL Server, der normalerweise nur physischen Speicher verwendet

Tun Sie einfach, was MS für Windows sagt, und das war's

Oh, und kaufe mehr RAM trotzdem, während wir eines der Themen sind ... ;-)

15
gbn

Einblick in lock pages in memory. Auf diese Weise können Sie festlegen, dass Ihr SQL-Dienstkonto verfügbar RAM) verwendet, anstatt auf die Festplatte zu blättern. Weitere Informationen zu Sperrseiten im Speicher finden Sie unter Link Es folgt ein Ausschnitt:

Die Option Seiten im Speicher sperren der Windows-Richtlinie ist standardmäßig deaktiviert. Dieses Privileg muss aktiviert sein, um AWE (Address Windowing Extensions) zu konfigurieren. Diese Richtlinie bestimmt, welche Konten einen Prozess verwenden können, um Daten im physischen Speicher zu speichern, wodurch verhindert wird, dass das System die Daten in den virtuellen Speicher auf der Festplatte paginiert. Unter 32-Bit-Betriebssystemen kann das Festlegen dieser Berechtigung, wenn AWE nicht verwendet wird, die Systemleistung erheblich beeinträchtigen. Das Sperren von Seiten im Speicher ist unter 64-Bit-Betriebssystemen nicht erforderlich.

Bitte testen Sie diese Funktion, bevor Sie sie auf Ihren Systemen verwenden.

6
StanleyJohns

Ja, für 64 GB RAM benötigen Sie mindestens 64 GB Auslagerungsdatei (96 GB empfohlen). Nicht wegen möglicher Auslagerung, aber wegen des Designs des Windows-Speichermanagers. Ich habe über dieses Problem bereits in Größe der System-Auslagerungsdatei auf Computern mit großem RAM geschrieben :

Wenn ein Prozess über VirtualAlloc/VirtualAllocEx nach MEM_COMMIT Speicher fragt, muss die angeforderte Größe in der Auslagerungsdatei reserviert werden. Dies war im ersten Win NT-System der Fall und gilt auch heute noch unter Verwalten des virtuellen Speichers in Win32 :

Wenn Speicher festgeschrieben wird, werden physische Speicherseiten zugewiesen und Speicherplatz in einer Auslagerungsdatei reserviert.

Die Alternative wäre so etwas wie das oom_killer .

Befolgen Sie also die Empfehlung, manchmal sind die Dinge etwas komplexer als sie aussehen. Und ich habe noch nicht einmal die Komplikationen von AWE und das Privileg der Sperrseiten angesprochen ...

4
Remus Rusanu