Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# PerfView GC触发原因_C#_Garbage Collection - Fatal编程技术网

C# PerfView GC触发原因

C# PerfView GC触发原因,c#,garbage-collection,C#,Garbage Collection,我一直在调查c#server应用程序中的一些垃圾收集问题。我目前正在使用PerfView来执行此操作。在收集了一些数据并获得了大量GC统计数据之后,我对其中一列“触发器原因”有点困惑。我得到两个值“AllocClarge”和“AllocSmall”。我在帮助和谷歌上搜索过,找不到这两个词的确切含义。在.NET GC中,大于85K的对象(大对象)与其他对象(小对象)的处理方式非常不同。特别是大型对象仅在“第2代”(最昂贵的GC类型)中收集AllocLarge’表示分配大型对象时触发了GC(因此必须

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

在.NET GC中,大于85K的对象(大对象)与其他对象(小对象)的处理方式非常不同。特别是大型对象仅在“第2代”(最昂贵的GC类型)中收集AllocLarge’表示分配大型对象时触发了GC(因此必须触发Gen 2 GC)。'AllocSmall是指GC在响应“普通”对象的分配时发生


请注意,一般来说,使用寿命短的大型对象是不好的(因为这些对象强制使用昂贵的地面军事系统)。通过查看“GC Alloc Stats”视图和伪帧“LargeObject”,您可以看到分配了大型对象的任何地方。双击该按钮(这将使您进入“调用者”视图,yoiu将看到您在哪里分配大型对象。

在PerfView中,当执行两个gc转储的差异时,负数和正数是什么意思?