1

私の質問は、私のサーバーの RAM を使い果たしているように見えるこの 1 つの exe についてです。Windows Server 2008 R2 です。コミットサイズは多かれ少なかれ13GBのままであるため、再起動は役に立たないようです。これは、ベンダーがプログラムのパフォーマンスの問題のために RAM を増やしたいと考えているためです。

私が心配しているのは、プログラムが要求したすべての RAM を実際に使用しているようには見えないことです。プライベート ワーキング セット メモリが 4GB を超えることはまだ見たことがありません。ユーザーが遅さとワークステーションのロックについて不満を言っている間、私はサーバーを見てきましたが、コミットされたメモリのすべてをまだ使用していません。

これはメモリリークですか?この exe で何が起こっているのか、実際に必要なときにコミットされた RAM をすべて使用しないのはなぜですか?

つまり、これがベンダーの問題であるという具体的な証拠を見つけようとしているので、ベンダーは私を責めようとしません。

これは VM です。トラブルシューティングの手順として、VM の設定に入り、メモリが適切に割り当てられていること、オーバーコミットされていないことを確認し、メモリ リソースの割り当てを「無制限」にチェックしました。

アドバイスや追加のトラブルシューティングをお試しいただきありがとうございます。

タスクマネージャー VMMap の結果

4

3 に答える 3

0

プロファイリング ツール: プログラムが .NET で記述されている場合は、Yourkit、ant、dotTrace などを試してください。ネイティブの場合は、UMDH などのWindows 開発キットから利用できるデバッグ ツールが、メモリ リークを追跡するための優れたツールです。プログラムとその依存関係、できればソースコードのデバッグシンボルがある場合にのみ意味があります。

メモリ リークにはさまざまな原因がありますが、プロセスのメモリ消費量が徐々に増加していない場合、そのようなメモリ フットプリントに達した後のアプリケーションの使用方法では、メモリ リークは発生しないように思えます。あるいは単に効率が悪いだけかもしれません。または、何らかの理由で 13GB が必要になる場合もあります。

コンピューターのリソースを使い果たし、OS の制限を超えるまでメモリを消費する場合は、リークが発生している可能性が最も高くなります。

また、操作によってリークが発生するかどうかを確認することをお勧めします。ベンダーに再現手順を提供すると役立ちます。

元の質問については、 この SO question を確認してください。

参考文献

于 2014-05-02T18:37:19.760 に答える