Лучший способ профилировать долгосрочное использование процессора процессами Windows - PullRequest
0 голосов
/ 30 октября 2018

У меня есть собственное приложение, которое увеличивает загрузку процессора процессом в Windows (в данном случае: audiodg.exe, который обрабатывает аудио «некоторым образом»). Я хочу измерить общую производительность ЦП этого процесса в течение минуты или около того.

Возможно присоединить Visual Studio к этому процессу (запустить от имени администратора и просто сделать Присоединение к процессу ...), чтобы я мог просматривать производительность процессора и памяти. Однако это не очень полезно. Процесс занимает примерно 1-2% от общего процессора, поэтому график не дает никакой интересной визуальной информации. Более того, меня интересует среднее время в течение ~ 1 минуты, которое Performance Profiler не может сделать (я думаю?).

Каков наилучший способ получения точных данных о средней производительности процессора из процесса Windows? Существуют ли какие-либо инструменты для этого или API, которые могут получить эти данные?

1 Ответ

0 голосов
/ 04 ноября 2018

Я думаю, что Visual Studio - не лучший инструмент для такого использования, поскольку он сам по себе очень тяжелый.

Я бы использовал Windows Performance Recorder, где вы можете выбрать, что вы хотите записать: enter image description here

Затем вы начинаете запись, дублируете проблему и затем останавливаете запись. После этого вы можете открыть журнал в анализаторе производительности Windows и попытаться понять причину возникновения проблемы.

enter image description here

В качестве альтернативы вы можете получить дамп памяти процесса с помощью ProcDump.exe , когда загрузка процессора превысит определенные пороговые значения, а затем из дампа попытаться исследовать проблему.

...