【发布时间】:2011-08-04 07:54:18
【问题描述】:
我在 Windows Server 2003 x64(2x Xeon 4 核心 procs)上运行一个大型 .net 4.0 x86 应用程序,并且遇到问题,我的应用程序每天大约 2-3 次冻结 30 秒,然后恢复运行像平常一样。该应用程序每周仅重新启动一次,并消耗 400-800 mb 的内存,所以我假设这些冻结是垃圾收集。我只在日志中看到冻结,而不是实时,或者我会检查任务管理器来确认。
我试图弄清楚哪个 .Net 4 GC 正在运行,如果没有,如何将 GC 切换到新的并发后台 gc,或者如何确认这些实际上是 GC(Procmon 没有在 Win2k3 服务器中显示 .Net 工具)。
【问题讨论】:
-
你检查 app.config/web.config 中的配置了吗?
-
为什么一定要垃圾回收?我的应用程序(占用大量内存)好几个星期都没有重新启动,而且根本没有冻结。
-
您应该运行 perfmon 并将 .NET 性能计数器收集到二进制日志文件中。稍后阅读以了解发生了什么。
-
感兴趣的:垃圾收集的基础知识:msdn.microsoft.com/en-us/library/ee787088.aspx