1
2
如果以64位运行,在linqpad中运行代码确实会导致巨大的内存消耗;以32位运行可以很好地工作。 我有一个Windows7x64UltimateInstall(像往常一样修补),主内存为8GB;安装了vs.net和其他dev工具,因此可能有一些奇怪的调试器挂钩,而这些挂钩在其他空白计算机上不存在。 奇怪的是他们没有责备。你确定那里没有通讯故障吗? 哦,使用“new object()”而不是装箱的值类型会导致相同的问题(毫不奇怪),因此您可能希望从repro案例中删除装箱的混淆因素。 |
2
3
我不能复制它。我在X64上尝试了它,它有4个Gigs RAM,编译为任何一个。最大内存使用率约为2.5 gigs。最大GC暂停时间约为1084 ms。 这是我的gc etw统计数据的输出。 您还可以按时间获取GC事件 可能运行中类似的跟踪输出有助于理解在封面下发生了什么。 在.NET 4.0中,有提供框架跟踪信息的Windows事件跟踪(ETW)。以下是特定于 gc的文件。 为了获得这些信息,有一个工具叫做perfview,它被称为 perfview 以下是使用该工具获取GC信息的步骤
这是我的gc etw统计数据的输出。
您还可以按时间获取GC事件
可能运行中类似的跟踪输出有助于理解在封面下发生了什么。 在.NET 4.0中,有提供框架跟踪信息的Windows事件跟踪(ETW)。这是特定于 GC . 为了得到这些信息,有一个工具叫做 PerfView 以下是使用该工具获取GC信息的步骤
|
codeforester · 测量GC暂停时间的最佳方法是什么? 6 年前 |
Venki WAR · 需要解释G1的并行完整GC 6 年前 |
Stephan_Berlin · 为什么CMS系列中的初始标记阶段 6 年前 |
Bonsaisteak · 为什么年轻一代需要三个区域来收集垃圾? 6 年前 |
goks · 如何清除熊猫的数据帧内存? 6 年前 |