gpt4 book ai didi

c# - PerfView GC 触发原因

转载 作者:行者123 更新时间:2023-12-01 22:17:12 25 4
gpt4 key购买 nike

我一直在调查 C# 服务器应用程序中的一些垃圾收集问题。我目前正在使用 PerfView 来执行此操作。在收集了一些数据并获取了大量 GC 统计数据后,我对其中一列“触发原因”有点困惑。我得到两个值“AllocLarge”和“AllocSmall”。我搜索了帮助和谷歌,但找不到这两个术语的确切含义。

最佳答案

.NET GC 处理大于 85K 的对象(大对象)与其他对象(小对象)有很大不同。特别是大型对象仅在“第二代”(最昂贵的 GC 类型)中收集。 “AllocLarge”表示在分配大对象时触发了 GC(因此必定引发了 Gen 2 GC)。 “AllocSmall”表示 GC 发生是为了响应“普通”对象的分配。

请注意,一般来说,拥有短命的大型对象是不好的(因为它们会强制执行昂贵的 GC)。通过查看“GC Alloc Stats” View 并查找伪帧“LargeObject”,您可以在任何地方看到分配大对象的情况。双击它(这会将您带到“调用者” View ,并且 yoiu 将看到您在哪里分配大对象。

关于c# - PerfView GC 触发原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com