私は12GBのRAMを搭載したWindowsServer2008システムを持っています。
タスクマネージャーにすべてのプロセスを一覧表示し、各プロセスのメモリ(ワーキングセット、メモリ(プライベートワーキングセット)、コミットサイズなど)をSUM()すると、を超えることはありません。 「使用中」の4-5GB。ただし、タスクマネージャは、[パフォーマンス]タブを介して、このサーバーで11GBが使用されていると報告します。
使用されたすべてのRAMがどこに行くのかを判断できません。システムキャッシュではないようですが、確信が持てません。
いずれかのアプライアンスでメモリリークが発生している可能性がありますが、どれを見つけるのに苦労しています。サーバーのメモリはいっぱいになり続け、最終的にはデバイスを再起動してクリアする必要があります。
私はRAM割り当てがWindowsServerでどのように機能するかについて読んでいます:
しかし、私は今のところアイデアなしで立ち往生しているのではないかと心配しています。
Windowsのメモリ管理は非常に大きなトピックです。本全体がこのトピックについて書かれている可能性があります。私が最初に行うことは、MSDNチャネル9のビデオシリーズ「Windowsメモリ管理の謎」パート1および2を視聴することです。
http://channel9.msdn.com/Events/TechEd/Europe/2010/WCL401
http://channel9.msdn.com/Events/TechEd/Europe/2010/WCL402
(彼はアメリカのTechEdとTechEd Europeの両方でこれらの講演を行ったため、このセッションには北米版とヨーロッパ版があります。)
タスクマネージャーとリソースモニターは問題なく、99%のWindowsユーザーには十分ですが、Sysinternalsツールは、最後の1%にいて、できるだけ詳細を確認したい私たちにとっては非常に優れています。
RAMMapから始めます。 \\ live.sysinternals.com\Tools \で入手できます。次に、特定のプロセスがメモリをどのように使用しているかを拡大して確認するには、VMMapを使用します。
今のところ、これらのさまざまな種類のメモリが何を意味するのかを定義しようとはしません。あなたの問題はあなたがメモリリークを恐れているということです。症状は、メモリ不足のためにサーバーが使用できなくなり、サーバーの再起動を余儀なくされることです。
通常の操作から定期的にサーバーを再起動する必要はありません。理想的には、パッチ適用と構成変更から再起動するだけでよい自己保守型システムである必要があります。そうです、サーバーが実際に不安定になったり使用できなくなったりするなどの正当な理由でサーバーを再起動していると仮定すると、おそらく問題があると思います。タスクマネージャーがほとんどすべてのRAMが使用されていると言っているからではありません。最新バージョンのWindowsは、使用していない場合でも、RAMにファイルとデータを積極的にキャッシュし、マップします。タスクマネージャの「空き」メモリと「使用可能」メモリの違いに注意してください。
ただし、「アプライアンスの1つでメモリリークが発生している可能性があります。」アプライアンスとはどういう意味ですか?ここでWindowsサーバーについて話していると思いましたか?
プロセスのプライベートメモリや共有メモリ、さらにはプールメモリ(ページングまたは非ページング)など、いくつかの異なる種類のメモリでメモリリークが発生する可能性があります。いずれの場合も、前述のツールを使用して、メモリ使用量が増え続け、決して下がらないプロセスについて、さまざまなメモリカテゴリを監視してください。それはリークになります。
お役に立てれば。
タスクマネージャは、デフォルトでは、各プロセスの実際のフルメモリ使用量を表示しません。ただし、より正確な追加情報を表示させることができます。
ここを参照してください:
http://windows.Microsoft.com/en-US/windows7/What-do-the-Task-Manager-memory-columns-mean