it-swarm-ja.com

Windows 2008R2のメモリは常にいっぱいです

24GBのRAMを搭載したHPサーバー上にWindows2008R2があります。インストールされている唯一の重要なソフトウェアはSQLServer 2008 R2であり、このWindowsではほとんど機能や役割が有効になっていません。

ただし、問題は常にRAMがほぼいっぱいです。タスクマネージャー、リソースモニターのメモリ部分、またはサードパーティプログラムのパフォーマンスを見ると、24 GBの約97%〜99%であることがわかります。 RAMは占有されていますが、すべてのプロセスの使用済みメモリの合計は1GB未満です。

このパーセンテージのRAMが使用されている場合、Windowsがこの量のメモリを使用しているプロセスを表示できないのはなぜですか?そうでない場合、WindowsはRAM isいっぱい?

4
Arya

SQL Serverは、使用可能なすべてのメモリを使用します。 これはバグではなく、仕様によるものです。SQL Serverを専用マシンにインストールする必要があるのもそのためです(IISたとえば)。

SQL Serverは、長時間実行すると、実行されたクエリに従ってデータを格納するため、後で実行する速度が速くなります。これは、サーバーを起動すると、メモリ使用量は少なくなりますが、時間の経過とともに増加することを意味します。

SQL Serverで使用するメモリ制限を調整できますが、重大な理由がない限り、調整しないでください。

これは、MicrosoftサポートWebサイトの SQL Serverの構成オプションを使用してメモリ使用量を調整する方法 からの引用です。

SQL Serverを起動すると、サーバーのアクティビティが少ない場合でも、SQL Serverのメモリ使用量は着実に増加し続け、減少しない場合があります。さらに、タスクマネージャーとパフォーマンスモニターは、コンピューターで使用可能な物理メモリが4〜10MBになるまで着実に減少していることを示す場合があります。

この動作だけでは、メモリリークを示すものではありません。この動作は正常であり、SQLServerバッファプールの意図された動作です。

6

RAMMap を使用して、メモリを使用しているプロセス(およびその方法)を確認できます。

3
Der Hochstapler

SQLServeが使用するメモリの最大量と最小量を指定するには:

  1. SQL Server ManagementStudioオブジェクトエクスプローラーでSQLServerインスタンスを右クリックします
  2. プロパティを選択します
  3. メモリタブを選択します

enter image description here

詳細については、次の記事を参照してください。 最小および最大サーバーメモリの影響

特定のプロセスごとのメモリ割り当てについては、 Windows Resource Monitor から始めることができます。

1
Milena Petrovic