プロセスメモリはGFLAGS + USTとはるかに速く増加します
-
11-09-2019 - |
質問
私は問題に捕まってしまってきたの GFLAGS の窓アプリのいくつかのメモリリークを見つけるためにしようとしたときます。
私ははるかに速くフラグがオフである場合、それはよりも自分のアプリケーションの増加のメモリ(メモリ割り当てトレースをスタック収集するために)の UST のフラグをオンにすると(それは10で800MBする到達しますおよそ10mlの液体フッ化水素を圧入分。フラグがオフのときに私が得る50〜100メガバイト/日から遠く離れている)。
私は32メガバイトのスタックトレースの最大があることを読んで、私はこれが問題になることはありませんと仮定してきます。
コンピュータであるの4倍のインテル(R)Xeon(R)CPU E5410する@ 2.33GHz の
誰かが私に、私はそれを本当に感謝し、いくつかのヒントを与えることができれば。
ありがとうございます!
解決
スタックトレースデータベースは、USTフラグの唯一の影響はありません。それはまた、そのスタックトレースIDを格納するために、各割り当てに少なくとも32バイトを追加します。小さな割り当ての多くが含まれている場合、これはあなたの記憶の増加を説明することができます。 あなたは付属のデバッガでプロセスを起動したり、デバッグ対象とプロセスをコンパイルした場合、Windowsのヒープは、デバッグモードに設定され、割り当てごとのオーバーヘッドはさらに大きくなります。
他のヒント
あなたは MSDNを参照してくださいSizeInMB / tracedbを使用して、最大トレースデータベースのサイズを設定することができますGFLAGSのドキュメントでは、章と詩のためを。デフォルトでは、最も可能性の高いあなたが見てきた行動を説明する最大サイズはありません。
所属していません StackOverflow