Анализ файла дампа
Недавно я столкнулся с проблемой на нескольких серверах, где ЦП начинает потреблять больше ресурсов, чем обычно. Я пытаюсь выяснить причину этого и взял дамп процесса w3wp из диспетчера задач (щелкните правой кнопкой мыши по процессу и получил дамп).
Теперь размер файла dmp составляет 14 ГБ, и я пытаюсь проанализировать его с помощью WinDBG, но инструмент не работает и получает сообщение:
Я также взял несколько мини-дампов, но некоторые из них открывались нормально, а некоторые - нет, так что это не связано с путаницей между 32-битными или 64-битными (собранный дамп - 64-битный). Я пытаюсь узнать, что является причиной этой проблемы. Это размер файла или я не принимаю дамп должным образом.
Я проверил ссылку, но это не полезно.
1 ответ
Windbg не подходит для этой работы. Дампы - это только снимки, поэтому вы не представляете, что произошло раньше. Используйте ETW и здесь CPU Sampling, который суммирует все вызовы и детально показывает использование CPU.
Установите Windows Performance Toolkit, который является частью Windows 10 SDK ( V1607 работает на Win8/8.1(Server2012/R2) и Win10 или V1511 SDK, если вы используете Windows 7/Server2008R2)), запустите WPRUi.exe
и выберите CPU Usage
и нажмите на Start
, Захватите 1-2 минуты высокой загрузки ЦП и затем нажмите на Save
, Откройте сгенерированный ETL с помощью WPA.exe (Perf анализатор), перетащите CPU Usage (Sampled)
график для панели анализа
и загрузите символы отладки. Теперь выберите ваш процесс на графике, увеличьте масштаб и увеличьте стек, здесь вы видите вес использования ЦП всеми вызовами.
В этом примере большая часть использования ЦП из Internet Explorer происходит из HTML.
Для приложений.NET WPA показывает связанные с.net группы, такие как GC или JIT:
Разверните стек процесса w3wp, чтобы увидеть, что он делает. Из имен вы должны иметь представление о том, что происходит.