web-dev-qa-db-ja.com

Windows Server 2008 R2 64ビットメモリリーク

オフィスサーバーの1つで問題が発生しています。これは、6 GBの仮想化されたWindows 2008 R2サーバーですRAMメモリ。MicrosoftSQL Server(メモリ割り当て最大= 3GB)と、1GBを超えるRAMを消費しないソフトウェアのみが含まれています。ただし、 、サーバーのRAM=メモリがほぼいっぱいで、タスクマネージャでプロセスを確認しても、これは合計されていないようです。RamMapをインストールしましたが、簡単には解釈できません。識別できる「高価値」はありますか?

enter image description here

12
Guillermo Zooby

まあ、私は疑わしいとしてすぐに目立つ3.2ギガバイトのDriver Lockedメモリを確認しました。

この種のメモリであるDriver Locked Memoryは、カーネルモードドライバによってロックされたメモリです。通常、少量のデータを転送する目的で、通常はshort期間。

したがって、largeドライバーのロックされたメモリのチャンクがある場合、long時間、それは通常何かが正しくないという兆候です。

ここで大まかな推測をして、仮想サーバーであると言ったので、これを実行しているのはVMwareバルーンドライバーだと推測します。なぜこれを行っているのかを説明するのに十分なデータがありませんが、バルーンドライバーが誤って大きく保持していることについて具体的に説明しているケースとVMwareサポートKBがたくさんあります これのように すべきでないメモリの量。

また、バルーンドライバーが設計どおりに動作している可能性を考慮する必要があります。同じホスト上の別のVMにメモリを与える必要があるため、サーバーのメモリをページアウトしようとしています。

ハイパーバイザーの動的メモリドライバーではなく、不正なデバイスドライバーである可能性もあります。

ドライバー通常は、どのドライバーが割り当てを行ったかに関するヒントを与える3または4文字のタグで「タグ付け」されたメモリーを割り当てます。
Windows SDK/DDKの一部であるpoolmon.exeは、診断に役立ちます。

私が言ったように、野生の推測ですが、私が持っているデータを使ってできる最高のことです。

18
Ryan Ries

まあ、2005年から2016年まで、構内にはSQL Serverの考えられるすべてのバージョンがあり、実際に使用されているメモリの100%ほどのメモリリークは見られません。 仮想マシンの動的メモリが有効になっているかどうかを確認します。

Driver Lockedは注力すべき姿です。あなたの特定のケースでは、Driver Lockedはおそらく、Hyper-Vドライバーの1つであり、すべての未使用のメモリー(VMに割り当てられているが、atmでは未使用)をロックしているため、他の一部に「与える」ことができますVM動的メモリ、またはホストOSに対して、現時点で必要な方。仮想マシン内で大きなファイルやメモリを大量に消費するアプリを開くことで、動的メモリをテストできます。他のメトリックが増加すると、DriverLockedメモリが低下します。[〜#〜] imho [〜#〜]すべてのVMでメモリを過剰にプロビジョニングしていなければ、これは心配する必要はありません。

16
Kitet