Entsprechende Windows O / S Auslagerungsdatei Größe für SQL Server

stimmen
16

Hat jeder eine gute Daumenregel für die entsprechende Größe der Auslagerungsdatei für ein Windows 2003 Server mit SQL Server wissen?

Veröffentlicht am 05/08/2008 um 18:07
quelle vom benutzer
In anderen Sprachen...                            


8 antworten

stimmen
11

Bei allem Respekt zu Remus (den ich sehr respektiere) stimme ich stark. Wenn Ihre Auslagerungsdatei groß genug ist, einen vollständigen Dump zu unterstützen, wird es ein vollständiges Speicher-Abbild jedes Mal durchzuführen. Wenn Sie eine sehr große Menge an RAM haben, kann dies ein winziger Blip verursacht ein großer Ausfall wurde.

Sie wollen nicht Ihr Server von 1 TB RAM auf der Festplatte zu schreiben, haben, wenn es ein einmaliges vorübergehendes Problem ist. Wenn es ein wiederkehrendes Thema ist, können Sie die Auslagerungsdatei erhöhen, um einen vollständigen Dump zu erfassen. Ich würde warten, dies zu tun, bis Sie von PSS (oder jemandem anderes qualifiziert analysiert, um einen vollständigen Dump) isntructed wurden fordern Sie ein vollständiges Speicher-Abbild zu erfassen. Ein extrem kleiner Prozentsatz von DBAs wissen, wie man einen vollständigen Dump zu analysieren. Ein Mini-Dump ist sufficent für die meisten Probleme beheben, die ohnehin auftauchen.

Plus, wenn der Server so konfiguriert ist, eine 1 TB vollständige Dump zu ermöglichen und ein wiederkehrendes Problem tritt auf, wie viel freien Speicherplatz würden Sie mit auf der Hand empfehlen? Sie könnten eine ganze SAN in einem einzigen Wochenende füllen.

Eine Seite Datei 1.5 * RAM die Norm in den Tagen war, wenn Sie einen SQL Server zu haben, mit 3 oder 4 GB RAM Glück haben. Dies ist nicht der Fall nicht mehr. Ich lasse die Auslagerungsdatei bei Windows-Standardgröße und Einstellungen auf allen Produktionsservern (mit Ausnahme eines SSAS-Server, Speicherdruck auftritt).

Und nur zur Klarstellung, ich habe im Bereich von 2 GB RAM zu 2 TB RAM mit Servern gearbeitet. Nach mehr als 11 Jahren hatte ich nur die Auslagerungsdatei auf increae einem vollständigen Dump einmal zu erfassen.

Beantwortet am 05/10/2011 um 22:39
quelle vom benutzer

stimmen
10

mindestens die 1,5-fache Menge an physikalischem RAM Irrelevant der Größe des RAM, müssen Sie noch eine Auslagerungsdatei. Dies gilt auch, wenn Sie eine 1 TB RAM Maschine haben, werden Sie 1,5 TB Auslagerungsdatei auf der Festplatte benötigen (klingt verrückt, aber wahr ist).

Wenn ein Prozess MEM_COMMIT Speicher über VirtualAlloc / VirtualAllocEx fragt, muss die gewünschte Größe in der Auslagerungsdatei reserviert werden. Dies war in dem ersten Windows NT - System wahr, und gilt auch heute noch sieht Verwalten von virtuellen Speichern in Win32 :

Wenn der Speicher begangen wird, werden physische Speicherseiten zugeordnet und Raum in einer Auslagerungsdatei reserviert .

Bare einige extreme ungerade Fällen wird SQL Server fragen immer für MEM_COMMIT Seiten. Und angesichts der Tatsache , dass SQL einen nutzt Dynamic Memory Management - Politik , die so viel Pufferpool wie möglich im Voraus behält (Reserven und verpflichtet sich in Bezug auf die VAS), wird SQL Server Anforderung zu einem großen Platzreservierung in der Auslagerungsdatei starten. Wenn die Auslagerungsdatei 801/802 nicht richtig dimensioniert Fehler ist startet in SQL der Errorlogdatei und Operationen zeigt nach oben.

Dies bewirkt, dass immer einige Verwirrung, da Administratoren fälschlicherweise davon ausgehen, dass ein großer RAM die Notwendigkeit einer Auslagerungsdatei beseitigt. In Wahrheit geschieht das Gegenteil, ein großer RAM erhöht den Bedarf an Auslagerungsdatei, nur wegen der inneren Funktionen des Speicher-Managers von Windows NT. Die reservierte Auslagerungsdatei wird hoffentlich nie benutzt.

Beantwortet am 22/11/2009 um 23:11
quelle vom benutzer

stimmen
3

Laut Microsoft „als die Menge an RAM in einem Computer erhöht, verringert sich die Notwendigkeit für eine Auslagerungsdatei.“ Der Artikel geht dann weiter zu beschreiben , wie Leistungsprotokolle zu verwenden , um zu bestimmen , wie viel der Auslagerungsdatei wird tatsächlich verwendet wird. Versuchen Sie , Ihre Auslagerungsdatei zu 1,5X Systemspeicher für einen Start einstellen, dann tun die empfohlene Überwachung und Anpassungen von dort.

Wie die entsprechende Seite Dateigröße für 64-Bit-Versionen von Windows zu bestimmen,

Beantwortet am 03/08/2010 um 19:58
quelle vom benutzer

stimmen
2

Wir waren vor kurzem mit einem unserem SQL Server einig Performance - Probleme haben , die wir nicht in der Lage vollständig zu schmal nach unten waren, und tatsächlich einer unserer Microsoft Support - Tickets verwendet , um sie Fehlerbehebung zu helfen. Die optimale Größe der Auslagerungsdatei mit SQL Server zu verwenden , kam, und Microsofts Empfehlung ist , dass es 1 1/2 mal die Menge an RAM .

Beantwortet am 10/09/2009 um 06:05
quelle vom benutzer

stimmen
2

Je größer, desto besser bis zur Größe des Arbeitssatzes der Anwendung, wo Sie beginnen wird in abnehmenden Erträge zu erhalten. Sie können versuchen, diese zu finden, indem langsam Erhöhen oder Verringern der Größe, bis Sie eine wesentliche Änderung in Cache-Trefferraten zu sehen. Wenn jedoch die Cache-Rate über 90% Hit ist oder so sind Sie wahrscheinlich OK. Generell sollten Sie ein Auge auf diesem auf einem Produktionssystem halten, um sicherzustellen, dass es nicht seine RAM-Zuweisung entwachsen ist.

Beantwortet am 23/12/2008 um 15:45
quelle vom benutzer

stimmen
1

Nach viel Forschung haben unsere dedizierten SQL Server Enterprise x64 auf Windows 2003 Enterprise x64 läuft keine Auslagerungsdatei.

Einfach gesagt, ist die Auslagerungsdatei ein Cache für Dateien, die vom Betriebssystem verwaltet wird, und SQL seinen eigenen internen Speicher-Management-System.

Der MS-Artikel verwiesen wird nicht qualifiziert, dass die Beratung für das Betriebssystem ist out-of-the-box-Dienste wie File-Sharing läuft.

eine Auslagerungsdatei einfach belastet dem Disk-I / O, da Windows Nachdem versucht, zu helfen, wenn nur das SQL-O des Job tun.

Beantwortet am 24/05/2011 um 13:47
quelle vom benutzer

stimmen
1

Wenn Sie sich für hohe Leistung suchen, sind Sie gehen zu wollen, vollständig Paging zu vermeiden, so dass die Größe der Auslagerungsdatei wird weniger signifikant. Investieren Sie so viel RAM wie möglich für den DB-Server in.

Beantwortet am 11/08/2008 um 13:22
quelle vom benutzer

stimmen
0

In diesem Fall ist die normale Empfehlung des 1,5-fachen gesamten physischen RAM nicht die beste. Diese sehr allgemeine Empfehlung wird unter der Annahme, dass alle Speicher durch „normale“ Prozesse verwendet wird, die ihre in der Regel haben am wenigsten benutzte Seiten auf die Platte bewegt ohne massive Performance-Probleme für den Anwendungsprozess erzeugen der Speicher gehört.

Für Server mit SQL Server (in der Regel mit sehr großen Mengen an RAM), der größte Teil des physischen RAM ist mit dem SQL Server-Prozess festgelegt und sollte im physischen Speicher gesperrt ist (wenn es richtig konfiguriert), verhindern, dass es wird auf die Auslagerungsdatei ausgelagert . SQL Server verwaltet seine eigenen Speicher sehr sorgfältig mit Leistung im Verstand, einen großen Teil des auf seinen Prozess Cache als Daten zugewiesen RAM mit auf die Festplatte I / O zu reduzieren. Dabei spielt es keine solche Daten-Cache-Seiten die Auslagerungsdatei sinnvoll zu Seite, als der einzige Zweck, dass die Daten im RAM in erster Linie mit scheiben zu reduzieren I / O. (Beachten Sie, dass das Windows-Betriebssystem auch RAM ähnlich wie Disk-Cache verwendet den Systembetrieb zu beschleunigen.) Da SQL Server bereits seinen eigenen Speicherbereich verwaltet, sollte dieser Speicherplatz nicht „pageable“ in Betracht gezogen werden,

In Bezug von Remus erwähnte MEM_COMMIT, ist die Terminologie verwirrend , weil in den virtuellen Speicher parlance, „reserviert“ bezieht sich nie auf tatsächliche Zuteilung, aber die Verwendung eines Adressraum (nicht physischen Raum) von einem anderen Prozess zu verhindern. Speicher verfügbar „committed“ zu sein , ist im Grunde gleich die Summe der physischen RAM und Auslagerungsdatei Größe und macht einen MEM_COMMIT dekrementiert nur die verfügbare Menge in dem engagierten Pool. Es ist nicht eine passende Seite in der Auslagerungsdatei zu diesem Zeitpunkt zugewiesen werden . Wenn eine engagierte Speicherseite tatsächlich geschrieben wird, ist , dass , wenn die virtuellen Systemspeicher werden eine physikalische Speicherseite zuweisen und möglicherweise eine andere Speicherseite aus physischem RAM auf die Auslagerungsdatei stoßen. Siehe MSDN VirtualAlloc Funktion Referenz.

Das Windows-Betriebssystem verfolgt Speicherdrücke zwischen Anwendungsprozessen und einem eigenen Festplatte-Cache-Mechanismus und entscheidet, wenn es nicht gesperrten Speicherseiten von physischen auf die Auslagerungsdatei stoßen sollte. Mein Verständnis ist, dass eine Auslagerungsdatei, die die Art und Weise zu groß ist im Vergleich zu dem tatsächlichen nicht gesperrten Speicherplatz in Windows führen kann overzealously Anwendungsspeicher auf die Auslagerungsdatei Auslagerungsdatei aus, die sie in diesen Anwendungen die Folgen der Seite Misses (geringe Leistung) leiden.

Solange der Server nicht andere speicherintensive Prozesse ausgeführt wird, sollte eine Auslagerungsdatei Größe von 4 GB viel sein. Wenn Sie SQL Server festgelegt haben Sperren von Seiten im Speicher zu ermöglichen, sollten Sie auch SQL Server max Speichereinstellung Einstellung prüfen, so dass es einige physikalische RAM zur Verfügung, die OS für sich selbst und andere Prozesse verlässt.

802 Fehler in SQL Server zeigen, dass das System keine weiteren Seiten für den Datencache begehen kann. die Auslagerungsdatei Größe in dieser Situation nur Zunehmende soweiten Windows-Hilfe wird in der Lage, Speicher-Seite von Nicht-SQL Server-Prozessen. Zulassen von SQL Server-Speicher in die Auslagerungsdatei in dieser Situation wachsen könnte die Fehlermeldungen loszuwerden, aber es ist kontraproduktiv, aufgrund des Punkt früher über den Grund für die Daten-Cache in dem ersten Platz.

Beantwortet am 04/04/2014 um 00:51
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more