2008-08-26 19 views
3

私はsqlサーバーと私のスタックのためのいくつかの他のアプリケーションを実行している開発VMを持って、私は他のアプリがひどく実行されていることがわかりました。いくつかの掘り下げをした後、SQL Serverはメモリを大量に使用していました。クイックウェブ検索の結果、デフォルトでは、データをキャッシュして他のアプリがリクエストしたときにシステムに戻すためにできるだけ多くのメモリを消費することがわかりましたが、このプロセスはしばしば十分に速く行われません私の状況はよくある問題です。SQL Server 2k5のメモリ消費?

There however is a way to limit the memory SQL Server is allowed to have。私の質問は、どのようにこの制限を設定する必要があります。明らかに私はいくつかの推測とチェックをする必要があるでしょうが、絶対最小しきい値がありますか?どんな勧告も感謝しています。

編集:

私は可能であれば768メガバイト以下でVMを実行できるようにしたいと思いますので、開発者のマシンはメモリの2回のギグを持っていることを注意しましょう。このVMは、ローカルの開発者とテストにのみ使用されるので、負荷はごくわずかです。コードはローカルでテストされた後、SQLサーバーボックスが専用の別の環境に移動します。 私は本当にここを探していますと、最小値

答えて

0

これは開発環境なので、私はGregに同意します。試行錯誤してみてください。それを完全に正しいものにすることはそれほど重要ではありません。

しかし、VMで多くの作業を行う場合は、少なくとも2GBの半分以上は与えないでください。

1

に関する勧告がそうID可能であれば 768メガバイト以下でVMを実行できるようにしたいです。

これは、データとデータベースのサイズによって異なります。しかし、私は通常、SQLサーバに少なくともGBを与えたいと思っています。

1

本当にマシン上で何が起こっているかによって異なります。典型的な負荷の下で動作するものを取得し、タスクマネージャを見て、他に必要なものを確認してください。最初にその番号を試してみてください。

もちろん、プロダクションマシンの場合は、マシンをSql Server(プロセッサ - >ブーストSQLサーバープライオリティ)に制御し、必要なすべてのRAMを持たせるのが最善です。

あなたはVMを使用しているので、Sql Server専用の専用マシンを作成し、それ以外のVMを別のVM上で実行することもできます。

2

抽出は、彼SQL Serverのマニュアルをfromt:(MBで)

最大サーバーメモリ

は、それが を開始したときに、それが実行中のメモリ のSQL Serverの最大量を割り当てることができますを指定します。複数の アプリケーションが同時に実行されており、 がSQL Serverとして実行されており、 にこれらのアプリケーションの実行に十分なメモリがあることを保証したい場合は、この構成 オプションを特定の値 に設定できます。これらの Webや 電子メールサーバーなどの他のアプリケーションでメモリが要求された場合は、 としてください。 オプションを設定しないでください。必要に応じてSQL Serverによってメモリ が解放されるためです。しかし、 アプリケーションでは、起動時に が利用可能なメモリを使用することが多く、 は必要以上に要求しません。この ように動作 アプリケーションが で同じコンピュータ上でSQL Serverと同じ時間を実行している場合は、アプリケーション で必要とされる メモリはSQL Serverによって割り当てられていないことを保証した値に オプションを設定します。

最低限の推奨事項はありません。より多くの記憶が良い。 SQL Severは必要なだけのメモリを必要とするか、IOをゴミ箱に入れます。

SQL Serverを停止します。他のアプリケーションを実行し、必要なメモリ量に注意してください。使用可能な総RAMからその値を差し引き、その数値をSQL ServerのMAXメモリ設定に使用します。