w3wp.exe
показывает использование процессора на 99%. Каковы наилучшие способы выяснить причину такой высокой загрузки ЦП?
w3wp.exe
показывает использование процессора на 99%. Каковы наилучшие способы выяснить причину такой высокой загрузки ЦП?
Ответы:
Присоедините WinDbg + sos и запустите !runaway
, Это покажет вам, какой поток занимает больше всего процессорного времени. Сделать !clrstack
в теме, чтобы узнать, что он делает.
Другое предложение инструментов - DebugDiag, см. Больше Вот
[ОБНОВИТЬ]
использование ProcDump , смотрите больше на Использование ProcDump.exe для мониторинга w3wp.exe за пики процессора ,
w3wp.exe
является рабочим процессом ASP.NET, поэтому, если он использует высокий процент ЦП сервера, проблема возникает из-за приложения ASP.NET. Тем не менее, это делает не обязательно указывают на наличие проблемы с приложением ASP.NET. Возможно, он обслуживает слишком много запросов с ограниченными ресурсами. Единственная реальная мера - это проверить использование ЦП по сравнению с объемом трафика, обрабатываемого приложением.
Если вы подозреваете, что определенный запрос занимает слишком много времени, вы можете использовать LogParser утилита командной строки для анализа ваших лог-файлов и определения того, какая страница имеет длительное время выполнения.
c:\>logparser "select top 10 cs-uri-stem, time-taken from INSERT_YOUR_IIS_LOG_FILE_NAME.log group by cs-uri-stem order by time-taken desc" -q:on
Вы также можете использовать инструмент, чтобы показать, какие страницы в настоящее время выполняются, например, IISPeek (не бесплатно).
Если вы хотите пойти глубже, попробуйте понять, как использовать WinDbg. Вот хороший урок: Отладчики Windows: Часть 1. Учебник по WinDbg
У нас та же проблема, что и Грег отмечает выше. Мы просто убиваем эти процессы. Не наблюдал этого на IIS6 / Windows Server 2003, только на IIS7 / Windows Server 2008.