当我在转储文件上运行!finalizequeue
命令时,它会向我显示不同的堆以及要在此下完成的总对象。在下面的结果中,Heap 0,Heap 1等有哪些不同的堆?我的理解是每个进程会有一个堆,它是否正确?
0:000> !finalizequeue
SyncBlocks to be cleaned up: 0
Free-Threaded Interfaces to be released: 0
MTA Interfaces to be released: 0
STA Interfaces to be released: 0
----------------------------------
------------------------------
Heap 0
generation 0 has 19 finalizable objects (41c7ed80->41c7edcc)
generation 1 has 19 finalizable objects (41c7ed34->41c7ed80)
generation 2 has 2283 finalizable objects (41c7c988->41c7ed34)
Ready for finalization 0 objects (41c7edcc->41c7edcc)
------------------------------
Heap 1
generation 0 has 101 finalizable objects (41ccc27c->41ccc410)
generation 1 has 25 finalizable objects (41ccc218->41ccc27c)
generation 2 has 2636 finalizable objects (41cc98e8->41ccc218)
Ready for finalization 0 objects (41ccc410->41ccc410)
------------------------------
Heap 2
generation 0 has 6 finalizable objects (41d4195c->41d41974)
generation 1 has 11 finalizable objects (41d41930->41d4195c)
generation 2 has 2328 finalizable objects (41d3f4d0->41d41930)
Ready for finalization 0 objects (41d41974->41d41974)
------------------------------
Heap 3
generation 0 has 21 finalizable objects (41c96188->41c961dc)
generation 1 has 16 finalizable objects (41c96148->41c96188)
generation 2 has 2584 finalizable objects (41c938e8->41c96148)
Ready for finalization 0 objects (41c961dc->41c961dc)
答案 0 :(得分:2)
这些是GC堆。此过程中的GC在服务器模式下运行,每个处理器有一个GC堆。输出通过生成和堆显示可终结对象的位置。