我想让我的程序(比如在内存监视模式下)告诉我它何时将某些东西分配到大对象堆上。这样我也许可以调整不应该使用 LOH 的区域。
将对象分配到大对象堆时是否会引发事件?
我想让我的程序(比如在内存监视模式下)告诉我它何时将某些东西分配到大对象堆上。这样我也许可以调整不应该使用 LOH 的区域。
将对象分配到大对象堆时是否会引发事件?
看看CLR ETW Events下的垃圾收集事件:
您将对 和 最GCAllocationTick_V2 Event
感兴趣GCStart_V1 Event
。
在 LOH 上分配大小 >= 85000 字节的对象。据我所知,除非您想为 CLR 提供内存分配的自定义实现,否则不会引发任何事件。但是,您可以使用 SOS(罢工之子)调试扩展来分析堆。