アプリの 1 つをデバッグしていて、SQL Server 2005 x64 ボックス (Windows 2003 R2 x64 で実行) の RAM が固定されており、ページング ファイルにも入っていることに気付きました。
SQL Server 2005 x64 は可能な限りすべてを取得することを理解しているため、これは正常な場合があります (???)。実際に使用しているメモリの量を確認するにはどうすればよいですか?
アプリの 1 つをデバッグしていて、SQL Server 2005 x64 ボックス (Windows 2003 R2 x64 で実行) の RAM が固定されており、ページング ファイルにも入っていることに気付きました。
SQL Server 2005 x64 は可能な限りすべてを取得することを理解しているため、これは正常な場合があります (???)。実際に使用しているメモリの量を確認するにはどうすればよいですか?
Perfmon を実行する必要があります (スタート -> コントロール パネル -> 管理ツール -> パフォーマンス)。必要なカウンターは、SQL Server:Memory Manager にあると思います。ターゲット サーバー メモリは、必要に応じて使用できる量です。合計サーバー メモリは、現在使用している量です。[説明] をクリックすると、詳細が記載されたボックスが開きます。
デフォルトでは上限がなく、数 GB のメモリを除くすべてを使用する必要があります (OS に任せます)。ただし、ページングに入る原因となるさまざまなバグやメモリ リークがあります。
あなたの質問に関連して、共有環境で使用している場合、つまり SQL Server 以外をホストするサーバーで使用している場合、SQL Server がアクセスできる RAM の量を制限することを検討することをお勧めします。
これにより、SQL Server がサーバーの RAM をすべて消費するのを軽減できます。
管理スタジオに移動して実行するsp_helpdb <db_name>
と、指定したデータベースの詳細なディスク使用量が表示されます。パラメータ値を指定せずに実行すると、インスタンス内のすべてのデータベースの概要情報が一覧表示されます。
RDPアクセス/コンソールアクセスがある場合にRAMの使用状況を確認する最も簡単な方法は、タスクマネージャーを起動することです-プロセスをクリックします-すべてのユーザーのプロセスを表示し、RAMで並べ替えます-これにより、SQLの使用状況がわかります。
前述のように、サイズを小さくするには (すぐに有効になり、再起動は不要です)、SQL Management Studio を起動し、サーバー、プロパティ - メモリをクリックして、最大値を減らします。完全な数というわけではありませんが、他のタスクのためにサーバーに RAM の空き容量があることを確認してください。
perfmon に関する回答は正しく、使用する必要がありますが、タスク マネージャーの IMHO ほど明白な方法ではありません。