我发现 CPU 使用率对于我的应用程序池的 w3wp 进程来说太高了。谷歌搜索并使用调试诊断工具找到与转储和分析相关的文章。
但是分析只在“Top 1 thread in high CPU usage”中显示了这个调用堆栈:
System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr,System.Web.RequestNotificationStatus ByRef) System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr,System.Web.RequestNotificationStatus ByRef)
一旦我重新启动应用程序池,CPU 使用率就会恢复正常。在网站上测试了几个小时后,我注意到 CPU 使用率回到了 50%。我不确定哪种情况导致了这种行为。
该应用程序是一个在 Windows Server 2008 R2、IIS 7 上运行的 .NET 4 Razor 网站,我可以做的下一个最好的事情是找出这里的问题。一些指针将不胜感激。