windbg では、読み込まれたモジュールを lm で一覧表示できます。
これらのアセンブリのメモリ フットプリントを見つけるにはどうすればよいですか?
メモリを過剰に使用している疑いのあるプロセスのダンプを分析していますが、アセンブリの数に気付きましたが、それらがメモリ内で占めるサイズはわかりません。
また、それらは連続したメモリ位置にあるようには見えません。それとも、lmの出力を何らかの方法でソートした場合ですか?
ありがとう!
windbg では、読み込まれたモジュールを lm で一覧表示できます。
これらのアセンブリのメモリ フットプリントを見つけるにはどうすればよいですか?
メモリを過剰に使用している疑いのあるプロセスのダンプを分析していますが、アセンブリの数に気付きましたが、それらがメモリ内で占めるサイズはわかりません。
また、それらは連続したメモリ位置にあるようには見えません。それとも、lmの出力を何らかの方法でソートした場合ですか?
ありがとう!
!address -summary で概要を把握できます。画像行を確認する
0:008> !address -summary
--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal
Free 212 b13cb000 ( 2.769 Gb) 69.23%
Heap 455 25281000 ( 594.504 Mb) 47.18% 14.51%
<unknown> 861 2168d000 ( 534.551 Mb) 42.42% 13.05%
Image 662 4e8e000 ( 78.555 Mb) 6.23% 1.92%
Stack 156 3400000 ( 52.000 Mb) 4.13% 1.27%
Other 39 54000 ( 336.000 kb) 0.03% 0.01%
TEB 52 34000 ( 208.000 kb) 0.02% 0.00%
PEB 1 1000 ( 4.000 kb) 0.00% 0.00%
を使用して、各モジュールのサイズを確認できますlmvm module_name
。ImageSize
そのモジュールの 16 進数のサイズを示す出力があります。
編集済み:別の方法は、最初lm
にすべてのモジュールを表示してから、!lmi start_address
または!lmi module_name
特定のモジュールに関する情報を取得することです。!lmi
画像サイズを示す Size フィールドがあります。
!lmi start_address
読み込まれた .NET 4 ネイティブ イメージの場合、モジュール名の解決に失敗するため、を使用する必要があることに注意してください。