11

Совсем недавно производительность моего ПК стала неутешительной, я даже набрал около 10 «пауз» в редакторе, набирая эти два предложения. Теперь, если я использую Process Explorer, я могу сортировать по ЦП, памяти и IO по убыванию, поэтому виновники всегда видны вверху таблицы.

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

Я посмотрел на Process Monitor, но, похоже, он больше ориентирован на сбор действий процесса в сравнении с общим использованием ресурсов, и я пока не нашел способа агрегировать эти действия путем суммирования и группировки по процессам.

Иногда кажется, что проблема связана с вводом-выводом, основанным на Process Explorer, а иногда на "перегрузке" процессора. Я хотел бы отслеживать и регистрировать использование этих ресурсов для каждого процесса, для каждого процесса в течение периода от 24 до 48 часов, так как медлительность временная.

Однако он более выражен в некоторых приложениях, таких как Chrome и Visual Studio, в то время как, например, Notepad++ не имеет плохой производительности. Я также начинаю подозревать медленную подкачку памяти на диск и с диска и с нетерпением жду возможности получить SSD для ОС и одно или два больших приложения ввода / вывода, но это займет некоторое время.

2 ответа2

3

Чтобы выявить проблемы использования ЦП, вы должны использовать трассировку событий для Windows (ETW) для сбора данных / профиля выборки ЦП.

Чтобы получить данные о производительности, установите Windows Performance Toolkit, который является частью Windows SDK.

Загрузите этот профиль из моего Dropbox, сохраните его на жестком диске, теперь откройте командную строку с правами администратора в папке, где вы сохранили профиль WPRP, и выполните эту команду:

wpr -start slowWindowsShell.wprp -start ReferenceSet -fileMode

Захватите сейчас около 5-7 минут медленного Explorer/Shell. Теперь запустите эту команду, чтобы остановить запись:

wpr -stop slowWindowsShell.etl

Дважды щелкните ETL, чтобы открыть его в Windows Performance Analyzer (WPA.exe), загрузить символы отладки и проанализировать его на предмет использования ЦП или памяти.

Этот профиль также включает события Windows Explorer/Shell, если загрузка процессора и памяти низка. Откройте ETL в Perfview и откройте данные событий:

Поиск событий оболочки в деталях Perfview генерирует продолжительность в MSEC (мс) для событий. Посмотрите, какие задачи являются медленными.

1

То, что вы хотите, описано на этой странице:

На этом этапе вы можете либо нажать кнопку «Готово», либо перейти к следующим шагам, где вы можете указать местоположение файла журнала или настроить набор сборщиков данных для запуска от имени определенного пользователя.

Как только набор данных создан, запустите его. Набор сборщиков данных начнет запись данных с выбранного монитора производительности, в нашем случае - загрузки ЦП. Отчеты недоступны во время работы набора данных. После того, как вы остановите его, вы сможете увидеть свой отчет в каталоге отчетов на панели навигации.

И еще о мониторинге производительности:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .