3 Stimmen

SQL Server 2k5 Speicherverbrauch?

Ich habe eine Entwicklungs-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. Nachdem ich etwas nachgeforscht hatte, stellte sich heraus, dass SQL Server den Speicher beansprucht. Nach einer schnellen Web-Suche entdeckte ich, dass er standardmäßig so viel Speicher wie möglich verbraucht, um Daten zwischenzuspeichern und sie an das System zurückzugeben, wenn andere Anwendungen sie anfordern, aber dieser Prozess geschieht oft nicht schnell genug, offenbar ist meine Situation ein häufiges Problem.

Es gibt jedoch eine Möglichkeit, den Speicher, den SQL Server haben darf, zu begrenzen . Meine Frage ist, wie sollte ich diese Grenze festlegen. Natürlich muss ich ein wenig raten und prüfen, aber gibt es einen absoluten Mindestschwellenwert? Für jede Empfehlung bin ich dankbar.

Editar:

Ich werde beachten, dass unsere Entwickler-Maschinen 2 Gigabyte Arbeitsspeicher haben, so möchte ich in der Lage sein, die vm auf 768 mb oder weniger laufen, wenn möglich. Diese vm wird nur für lokale Entwicklung und Tests verwendet werden, so dass die Last sehr minimal sein wird. Nachdem der Code lokal getestet wurde, wird er in eine andere Umgebung verlagert, in der die SQL-Server-Box dediziert ist. Was ich hier wirklich suche, sind Empfehlungen zu Mindestbeträgen

3voto

Ricardo C Punkte 2145

Auszug aus der SQL Server-Dokumentation:

Maximaler Server-Speicher (in MB)

Gibt die maximale Speichergröße an den SQL Server beim Start und während der und während er läuft. Diese Konfiguration Option kann auf einen bestimmten Wert gesetzt werden wenn Sie wissen, dass es mehrere Anwendungen zur gleichen Zeit laufen als SQL Server laufen und Sie wollen garantieren wollen, dass diese Anwendungen ausreichend Speicher zur Verfügung steht. Wenn diese andere Anwendungen, wie Web- oder E-Mail-Server, den Speicher nur als benötigen, dann setzen Sie die Option nicht, denn SQL Server wird ihnen den Speicher nach Bedarf freigeben wird. Allerdings, Anwendungen verwenden häufig den Speicher den verfügbaren Speicher, wenn sie starten und fordern bei Bedarf nicht mehr an. Wenn eine Anwendung, die sich auf diese Weise verhält Weise verhält, auf demselben Computer zur gleichen Zeit wie SQL Server läuft, setzen Sie die Option Option auf einen Wert, der gewährleistet, dass der von der Anwendung benötigte Speicher nicht von SQL Server zugewiesen wird.

Die Empfehlung für das Minimum lautet: Das gibt es nicht. Je mehr Speicher, desto besser. Der SQL Sever braucht so viel Speicher wie möglich, sonst wird er Ihr IO zerstören.

Stoppen Sie den SQL-Server. Starten Sie Ihre anderen Anwendungen und notieren Sie sich den Speicherbedarf. Ziehen Sie diesen Wert von Ihrem gesamten verfügbaren Arbeitsspeicher ab, und verwenden Sie diese Zahl für die MAX-Speichereinstellung im SQL Server.

1voto

SQLMenace Punkte 128184

Ich möchte die vm also auf folgenden Betriebssystemen ausführen können 768 mb oder weniger, wenn möglich.

Das hängt von Ihren Daten und der Größe Ihrer Datenbank ab. In der Regel gebe ich dem SQL-Server jedoch mindestens ein GB

1voto

Eric Z Beard Punkte 36325

Es hängt wirklich davon ab, was sonst noch auf der Maschine los ist. Lassen Sie die Dinge unter einer typischen Last laufen und schauen Sie im Task-Manager nach, was Sie für alles andere brauchen. Versuchen Sie, mit dieser Zahl zu beginnen.

Bei Produktionsrechnern ist es natürlich am besten, die Kontrolle über den Rechner an Sql Server zu übergeben (Processors -> Boost Sql Server Priority) und ihm so viel Arbeitsspeicher zu geben, wie er benötigt.

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

1voto

Tundey Punkte 2825

Da es sich hier um eine Entwicklungsumgebung handelt, stimme ich Greg zu, dass man einfach ausprobieren sollte. Es ist nicht so wichtig, es perfekt hinzubekommen.

Aber wenn Sie viel in der VM arbeiten, warum sollten Sie ihr nicht wenigstens die Hälfte der 2 GB zur Verfügung stellen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X