Как собрать выборку загрузки ЦП с помощью xperf (Windows Perfromance Toolkit)

Я хочу проанализировать производительность длительного процесса (6-8 часов). Мне нужна информация о созданных / завершенных процессах (с командной строкой) и загрузке процессора.

Я обнаружил, что Windows Perfromance Anayzer (wpa.exe/xperfview.exe) является отличным инструментом для анализа. Я создаю сборщик данных о производительности, выбираю провайдера "Отслеживание ядра Windows", ключевое слово "процесс" и получаю информацию о процессах.

Но я не могу найти, как собрать информацию об использовании процессора с помощью выборки. Я знаю это

xperf.exe - на базе

собирать информацию о процессоре, но он генерирует слишком много информации...

Также я могу собирать данные об использовании процессора со счетчиками производительности в виде файла *.blg, но не могу загрузить этот файл в wpa.:(

Есть идеи?

1 ответ

Вы можете получить выборку ЦП со стеками с помощью этой команды из командной строки (cmd.exe), работающей от имени администратора:

xperf -on PROC_THREAD+LOADER+PROFILE -stackwalk profile -buffersize 1024 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C:\HighCPUUsage.etl

Это создает файл с максимальным размером 1 ГБ. Xperf/ETW не подходит для долгосрочного анализа, потому что файлы становятся слишком большими. Итак, запустите команду, и если вы видите высокую загрузку ЦП в Taskmgr, нажмите клавишу, чтобы остановить запись в журнал. Откройте ETL в WPA.exe, и теперь вы видите последние минуты.

Другие вопросы по тегам