w3wp.exe
показывает 99%-е использование ЦП. Что лучшие пути состоят в том, чтобы исследовать причину этого высокого использования ЦП?
Другим предложением инструментов является 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 (не свободный).
Если Вы хотите пойти глубже, попытайтесь понять hwo для использования WinDbg. Вот хорошее учебное руководство: Windows Debuggers: Часть 1: Учебное руководство WinDbg
Присоедините WinDbg + SOS и работайте !runaway
. Это покажет Вам, какой поток занимает большую часть процессорного времени. Сделайте a !clrstack
на потоке для обнаружения то, что это делает.
У нас есть та же проблема примечания Greg выше. Мы просто уничтожаем те процессы. Не наблюдал это относительно сервера IIS6/windows 2003, только относительно сервера IIS7/windows 2008.