Я использую Windows Server 2008 R2 Enterprise
с IIS 7.5
, хостинг ASP.NET MVC 5
приложения.
Я заметил в последнее время что один из w3wp.exe
процессы используют чрезвычайно высокую пропускную способность ЦП:
После того, как исследовано немного больше, я также заметил, что причиной этого является функция clr.dll!CopyPDBs
:
Кто-либо знает то, что может быть проблемой?
Если причина не связана с Платформой.NET и clr.dll!CopyPDBs
как я могу заняться расследованиями далее для нахождения истинной причины для этого
Обычно это происходит из-за того, что у вас есть собственное приложение поверх 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 .
Это просто означает, что все ЦП занимает приложение .NET, но Process Explorer не может найти для него файлы .pdb. См. https://stackoverflow.com/a/31705019/8479 для получения более подробной информации.
Если вы не можете заставить Process Explorer сообщить, что происходит, попробуйте другие средства, такие как файлы журналов, журнал событий и Process Monitor.
Это предположение в лучшем случае, но, возможно, ваша команда разработчиков собирает и разворачивает приложение в отладочном режиме, вместо режима релиза. Это приведет к появлению .pdb файлов. Следствием этого является то, что ваше приложение будет занимать дополнительные ресурсы для сбора информации о состоянии системы и отладке во время выполнения системы, что приведет к большей загрузке процессора.
Таким образом, будет достаточно просто убедиться в том, что они собираются и развертываются в режиме релиза.