0

在过去的几天里,我一直在使用 PerfView 在我们的一台生产 Web 服务器(.net 4.7.2 和 ASP.NET - MVC 5.2.4)上寻找广泛的大对象堆分配并监控 GC 性能,我使用了“ GC Collect Only”、“GC Only”、“ETW .NET Alloc”选项以及可能的其他一些选项。

然而,在跟踪会话期间和之后,CPU 使用率非常高,长达 10 秒,其中所有 24 个内核的利用率几乎为 100%。在 PerfView 会话停止并且问题仍然存在后,我执行了“issreset”并最终重新启动了网络服务器。但这并没有帮助,在加入集群 15 到 20 分钟后,服务器开始再次看到高 CPU 利用率。此时,我在 CPU 使用率较高时创建了一些进程的转储,并使用 DebugDiag 对其进行分析,这表明 GC 正在运行。

所以我的问题是,什么会导致应用程序以这种方式运行?上周,该网站在该服务器上运行平稳,另外 2 个在过去几天没有出现问题的网络服务器也运行良好。是否存在某种在重启后仍然存在的挥之不去的跟踪会话?

4

0 回答 0