Как собрать выборку загрузки ЦП с помощью 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, и теперь вы видите последние минуты.