2

IISとSQL08Expressの両方を実行している同じ場所にあるwinserver08ボックスを管理しています。たまたまタスクマネージャーの[パフォーマンス]タブを見て、'memの使用履歴グラフが1.8ギガ(2ギガの物理RAMを持っています)を読んでトップに近づいていることがわかりました。プロセスは、sqlserverが940,000Kで実行されていることを示しています。これは圧倒的に最大のコンシューマーです。

私は少量のサイトです-CPU使用率はほとんど登録されていません。サーバーの安定性の問題はまったくありません。これはSQLが利用可能なメモリを処理する方法ですか、それとももっと深く掘り下げる必要がありますか?

どうも

4

4 に答える 4

5

SQL Serverは、独自のメモリプールを管理します。メモリの負荷がかかると、メモリが解放されてOSに戻ります。

したがって、これは正常な動作であり、心配する必要はありません。

注:これに対する例外について言及する必要があります。TSQLスクリプトがsp_OACreateを使用してCOMオブジェクトを作成し、対応するsp_OSDestroyでオブジェクトを解放しない場合(たとえば、エラーが発生し、スクリプトが途中で終了する場合)、メモリがリークする可能性があります。これらのストアドプロシージャの使用はそれほど一般的ではありません(多くのDBAは、正当な理由でこの機能をオンにすることを許可しません)。これは、割り当てが解除されていないカーソルにも当てはまると思います。

于 2009-06-29T15:18:46.367 に答える
0

構成していない限り、これは正常な動作です。メモリ構成と推奨事項を明確に理解するには、この記事をお読みください。

あなたの場合、あなたはデフォルト設定を持っていて、あなたが見るものは正常であり、心配する必要はないと思います。

ラージ

于 2009-06-29T15:23:27.653 に答える
0

SqlExpressは、標準エディション(つまり、非エクスプレスエディション)とは異なる方法でメモリを管理する可能性があることを考慮に入れてください。特定のリンクを提供することはできませんが、個人的な経験から、SQLServerの適切なディストリビューションに移行すると、状況が大きく変わります(速度、メモリ管理、極端な状況での応答性など)。

誰かがもっと何かを知っているなら、私の答えを統合してください。

于 2009-06-29T15:24:14.423 に答える
0

SQL Serverは、上限が設定されていない場合、マシンのメモリの90%の領域で何かを使用します。SQL Serverはそれ自体のメモリを管理しており、必要に応じてメモリを解放するため、これは完全に正常です。

SQL Serverが使用できるメモリの量を制限するよりも心配な場合は、sqlexpressインスタンスのプロパティに移動し、メモリページを選択してから、サーバーの最大メモリを減らします。

于 2009-06-29T15:47:25.187 に答える