2016-08-04 47 views
-3

私は、デバッグでコンパイルされたC#(.net 4.5)サービスを運用しています。 ある日、900MBのメモリがリークしました。 実際には10GBのメモリを使用します。perfviewでメモリリークを見つける

私はperfviewでdiffを作成しようとしましたが、私は900mbの漏れは見つかりませんでした。

私が見ることができるのは、到達不能なメモリが約1000MB増えていることです。 これはどういう意味ですか?

基本的に、私は実際のメモリリークはないと思います。おそらく、私が期待しているように、GCが動作していない可能性があります。

perfview diff

perfmon

私はそれが一日あたり400メガバイト、900メガバイトでメモリ消費量をincraseさせるものを見つけるために何ができますか?

+0

大きなオブジェクトヒープには多くのものがあります。まず、それらが何であるかを知り、それを回避する方法があるかどうかを調べることから始めます。そして、2世代に何が生きているかを見て、彼らは非常に長い時間の間、よく留まるかもしれません。あなたはいくつかの大きなXMLを持っていますか? – doctorlove

+0

ファイルあたり平均5kbの23400 xmlファイルを処理しました。 50kbから600kbの間に200のXMLファイルがあります。 – chris

答えて

0

PerfViewの

のPerfViewとメモリリークを探すには、CPU-とメモリ関連のパフォーマンスの問題を分離するのに役立ちますパフォーマンス分析ツールです。

メモリを増やす原因を特定するために何ができるのですか? の消費量は400mb-900mb /日ですか?

  1. 良いメモリプロファイラツール例:インストール:ANTS Memory Profiler、14日間の試用が付属しています。

  2. プロファイルセッションを開始してアプリケーションを実行し、どのインスタンスが継続的に増加しているかを確認します。

This walkthroughは、必要なすべてをカバーします。大きな学習曲線はありません。

関連する問題