我正在使用承载ASP.NET MVC 5应用程序的IIS 7.5 Windows Server 2008 R2 Enterprise 。
我最近注意到其中一个w3wp.exe进程正在使用非常高的CPU带宽:

在调查了一下之后,我也注意到了这个原因是函数clr.dll!CopyPDBs :

有人知道可能是什么问题吗?
如果原因与.NET Framework和clr.dll!CopyPDBs不相关,我怎样才能进一步调查find这个实际的原因
这通常是因为您在IIS之上有一个自定义应用程序。 如果是内置的应用程序,请与开发人员讨论。
如果不是在内部开发的,请查看.net CLR,其中包含计数器https://msdn.microsoft.com/en-us/library/x2tyfybc(v=vs.110).aspx以及关于CLR性能的更多提示https://msdn.microsoft.com/en-us/library/ee851764(v=vs.110).aspx和https://msdn.microsoft.com/en-us/magazine/cc163528.aspx 。
这只是意味着它是一个占用所有CPU的.NET应用程序,但Process Explorer无法find它的.pdb文件。 有关更多详细信息,请参阅https://stackoverflow.com/a/31705019/8479 。
如果你不能让Process Explorer说出正在发生的事情,那么试试其他途径,如日志文件,事件日志和进程监视器。
这是最好的猜测,但也许您的开发团队正在debugging模式下构build和部署应用程序,而不是释放模式。 这将导致.pdb文件的发生。 这意味着您的应用程序将占用额外的资源来在系统执行期间收集系统状态和debugging信息,从而导致更多的处理器利用率。
因此,确保他们正在以发布模式进行构build和部署将会非常简单。