在IIS6上运行的ASP.NET web应用程序周期性地将CPU使用率提高到100%。在这些事件中,几乎所有的CPU使用量都是由W3WP负责的。CPU在几分钟到一个多小时的任何位置都保持100%不动。
这是在一个临时服务器上,该站点在这一点上只从测试人员那里获得了非常少的流量。
我们已经在服务器上运行了ANTS profiler,但它没有启发性。
我们从哪里开始找出是什么导致了这些事件,是什么代码让CPU在这段时间内一直处于忙碌状态?
发布于 2010-01-13 05:52:23
这并不是一个很好的答案,但您可能需要老办法,捕获IIS进程的映像快照并对其进行调试。你可能还想看看Tess Ferrandez的博客--她是一个非常棒的微软升级工程师,她的博客专注于windows ASP.NET的调试,但这个博客通常与windows调试相关。如果你选择ASP.NET标签(这就是我链接到的标签),那么你会看到几个类似的项目。
发布于 2010-01-13 05:50:24
如果你的CPU达到了100%并且一直保持在那里,你很可能会遇到死锁或者无限循环的情况。分析器似乎是查找无限循环的一个很好的选择。然而,跟踪死锁要困难得多。
发布于 2010-01-13 08:35:39
Process Explorer是一款优秀的故障排除工具。您可以尝试使用它来查找CPU使用率高的问题。它可以让您深入了解应用程序的工作方式。
您还可以尝试使用Procdump转储进程并分析CPU上到底发生了什么。
https://stackoverflow.com/questions/2052633
复制相似问题