2008-08-26 15 views
3

Ich habe eine Entwicklung vm, die sql-Server sowie einige andere Anwendungen für meinen Stapel ausgeführt wird, und ich fand, dass die anderen Anwendungen schrecklich durchführen. Nach dem Graben hat SQL Server den Speicher ausgelastet. Nach einer schnellen Websuche habe ich festgestellt, dass standardmäßig so viel Speicher wie möglich verbraucht wird, um Daten zwischenzuspeichern und an das System zurückzugeben, wie es von anderen Apps angefordert wird. Dieser Prozess passiert jedoch oft nicht schnell genug Meine Situation ist ein häufiges Problem.SQL Server 2k5 Speicherverbrauch?

There however is a way to limit the memory SQL Server is allowed to have. Meine Frage ist, wie soll ich dieses Limit setzen. Natürlich muss ich raten und prüfen, aber gibt es eine absolute Mindestschwelle? Irgendwelche Empfehlungen werden geschätzt.

Edit:

Ich werde beachten, dass aus Entwickler-Maschinen haben 2 GB Speicher, so würde ich die vm auf 768 mb in der Lage sein mag oder weniger laufen, wenn möglich. Diese VM wird nur für lokale Entwicklung und Tests verwendet, so dass die Belastung sehr gering ist. Nachdem der Code lokal getestet wurde, wird er in eine andere Umgebung verschoben, in der die SQL Server-Box dediziert ist. Was ich wirklich hier suchen ist es, Empfehlungen zu Mindest

Antwort

0

Da dies eine Entwicklungsumgebung ist, stimme ich Greg zu, verwenden Sie einfach Versuch und Irrtum. Es ist nicht so wichtig, um es richtig zu machen.

Aber wenn Sie viel Arbeit in der VM, warum nicht geben Sie mindestens die Hälfte der 2 GB?

1

so id Lage sein, mag die vm auf 768 mb oder weniger, wenn möglich zu laufen.

Das hängt von Ihren Daten und der Größe Ihrer Datenbank ab. Aber ich gebe normalerweise SQL Server mindestens eine GB

1

Es hängt wirklich davon ab, was sonst noch auf der Maschine vor sich geht. Lassen Sie Dinge unter einer typischen Last laufen und schauen Sie im Task-Manager nach, was Sie für alles andere brauchen. Versuchen Sie diese Nummer, um mit zu beginnen.

Für Produktionsmaschinen ist es natürlich am besten, die Kontrolle über die Maschine Sql Server (Prozessoren -> Boost Sql Server Priority) zu geben und es haben alle RAM, die es will.

Da Sie VMs verwenden, könnten Sie möglicherweise eine dedizierte nur für Sql Server erstellen und alles andere auf einer anderen VM ausführen.

2

Heraus fromt er SQL Server-Dokumentation:

Maximaler Serverspeicher (in MB)

Gibt die maximale Größe des Speichers SQL Server zuweisen kann, wenn es beginnt und während es läuft. Diese Konfiguration Option kann auf einen bestimmten Wert gesetzt werden, wenn Sie wissen, dass es mehrere Anwendungen zur gleichen Zeit wie SQL Server ausgeführt wird, und Sie möchten Garantie, dass diese Anwendungen ausreichend Speicher zu laufen haben. Wenn diese anderen Anwendungen wie Web oder E-Mail-Server Speicher nur als benötigen, dann setzen Sie die Option nicht, da SQL Server bei Bedarf den Speicher freigibt.Allerdings Anwendungen oft verwenden, was auch immer Speicher ist verfügbar, wenn sie starten und tun nicht mehr anfordern, wenn nötig. Wenn eine -Anwendung, die in diese Weise auf demselben Computer zur gleichen Zeit wie SQL Server bei läuft verhält, stellen Sie die Option auf einen Wert, der garantiert, dass der Speicher für die Anwendung erforderlichen nicht von SQL Server zugeordnet wird.

Die Empfehlung auf Minimum ist: Keine solche Sache. Je mehr Speicher, desto besser. Der SQL-Server benötigt so viel Speicher wie möglich oder er wird den E/A-Prozess zunichte machen.

Stoppen Sie den SQL Server. Führen Sie Ihre anderen Anwendungen aus und notieren Sie sich die Speicherkapazität, die sie benötigen. Subtrahieren Sie das vom gesamten verfügbaren RAM, und verwenden Sie diese Nummer für die MAX-Speichereinstellung im SQL Server.