2

私のアプリの1つが5ギガのメモリを使用していると報告されています。プロセスのダンプを取得してwindbgで分析すると、報告されているようにコミットされた合計サイズが5ギガであることがわかりますが、管理されているヒープの合計サイズは1.6ギグ。

質問:ヒープサイズが数ギガしかない場合、コミットサイズが非常に大きくなる原因は何ですか?MEM_COMMITサイズがほとんどすべてPAGE_READWRITEセクションで使用されていることがわかりましたが、メモリの断片化である可能性がありますか?

状態サイズMEM_COMMIT5.653Gb MEM_RESERVE 2.597 Gb

GCヒープサイズ:サイズ:0x67cefd88(1741618568)バイト。

4

1 に答える 1

2

はい、マネージド ヒープで考慮されていないコミット サイズは、アンマネージド ヒープの断片化に起因する可能性があります。コマンド!heap -sはそれらを windbg に表示します。VMMapを使用して、他の種類のメモリ割り当てデータをすばやく除外することもできます。

于 2013-02-04T09:25:29.927 に答える