Журнал% CPU по процессам с течением времени

40

Есть ли в Windows простой способ записать% процессорного времени на процесс в течение времени в файл для последующего анализа?

Насколько я вижу...

  1. Диспетчер задач показывает мне% ЦП на процесс, но только визуально - нет способа сохранить в файл.
  2. Perfmon позволит мне сохранить в файл и дополнительно создаст файл на основе времени (снимки через определенные промежутки времени) - это почти то, что я хочу, за исключением того, что, насколько я вижу, он не может разбить% Процессор за процессом.
  3. Process Explorer позволит мне разбить процесс, но он сохранит файл как снимок одного момента времени.

Итак, ни один из них не является тем, что мне нужно: мне нужно получить файл, который содержит что-то вроде «топ-10 процессов по процессору каждые 15 секунд, пока я не прекращаю мониторинг». Причина, по которой мне это нужно, потому что у меня есть машина, на которой какой-то процесс вызывает случайные короткие скачки загрузки процессора несколько раз в день, и мне нужно выяснить, какой процесс является виновником.

Может ли что-нибудь сделать это, или я пропустил какую-то особенность perfmon или проводника процессов?

PhantomDrummer
источник

Ответы:

37

Process Monitor может сделать это за вас.

Сначала вы можете захотеть включить сбор событий профилирования:

введите описание изображения здесьвведите описание изображения здесь

Затем просто собирайте данные столько времени, сколько хотите (вы можете настроить фильтры и включить удаление отфильтрованных событий, если вы планируете собирать данные в течение продолжительных периодов времени). Затем перейдите в Инструменты -> Сводка активности процесса:

введите описание изображения здесь

Теперь вы получите список всех активных процессов, которые вы записали, с указанием их активности с течением времени. введите описание изображения здесь

Затем вы можете открыть детали для одного процесса (дважды щелкнув по нему) и проверить временные метки для определенных событий на графике:

введите описание изображения здесь

Der Hochstapler
источник
1
Спасибо. Это выглядит довольно впечатляюще (мне страшно подумать, сколько памяти он использует, если оставить его работать долго). Это, безусловно, полезно для возможности видеть на экране, что делали процессы. Однако, если я нажимаю «Сохранить» на экране сводной информации о процессе, то сохраняемый снимок остается моментальным снимком на один момент времени, без данных, зависящих от времени.
PhantomDrummer
@PhantomDrummer: Сохранение и загрузка файлов PML отлично работает для меня. Все ранее записанные события восстанавливаются и становятся доступными для анализа после загрузки PML. Убедитесь, что выбрали Все события при сохранении файла. Если он просто не хочет работать, дайте мне знать, и я включу больше деталей в свой ответ. Удачи :)
Der Hochstapler
1
@PhantomDrummer: перейдите в Настройки -> Профилирование событий. Там вы можете установить интервал в 1 с или 100 мс. Это так далеко, как это идет. Если файл все еще становится слишком большим, вы должны установить более строгие фильтры и включить Drop Filtered Events.
Der Hochstapler
1
@Pacerier One - это менеджер задач, остальные записывают операции, выполняемые задачами.
Der Hochstapler
6
Arent есть что-то более простое? Похоже, вам нужно научиться его использовать. Для небольшой проверки я просто хочу, чтобы время использования процессора было больше, когда
загрузка