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

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

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

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

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

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

2 ответа

Решение

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

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

введите описание здесьвведите описание здесь

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

введите описание здесь

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

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

введите описание здесь

Пошаговые инструкции, основанные на ответе «Der Hochstapler» https://github.com/pestrela/smi_counter/blob/master/light_monitor/README.md

  1. Монтаж

  2. Конфигурация:

    • CTRL+E: остановить захват
    • CTRL+X: удалить пакеты
    • CTRL+R: Сбросить фильтр.
    • Панель инструментов:
      • ОТКЛЮЧИТЬ все события в самой правой части панели инструментов (т. е. 4 значка) все типы событий (4 значка в самой правой части панели вкладок)
      • ВКЛЮЧИТЬ последний тип события (самый последний значок на панели вкладок — см. рисунок)
    • Меню:
      • Фильтровать/отбрасывать отфильтрованные пакеты = ВКЛ.
      • опционы/глубина истории: 10 миллионов
      • Опции/Профилирование событий ВЫКЛ.
  3. Захватывать:

    • CTRL+E: начать захват
      • очень важно: убедитесь, что вы получаете около 300 событий в секунду.
      • если вы получаете больше, проверьте фильтрацию еще раз
    • Запустите загрузку процессора на несколько секунд в целях тестирования:
      • т. е.: powerMAX, вкладка тестов CPU-Z и т. д.
    • CTRL+E: остановить съемку
  4. Анализ:

    • Инструменты/Сводка действий процесса
      • в новом окне отсортировать по процессору
      • Дважды щелкните процесс, чтобы увидеть подробный график
      • Сведения о столбце, строка «время пользователя»
      • это будет накопленное время пользователя. В моих машинах с 8 логическими ядрами это увеличивается на 8 секунд за каждую секунду реального времени.

Выходит за рамки: парковка ЦП — см. эту ссылку, чтобы ОТКЛЮЧИТЬ это .
Экспорт конфигурации: ProcmonConfiguration.pmc

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