Журнал%CPU по процессам с течением времени
Есть ли в Windows простой способ записать% процессорного времени на процесс в течение времени в файл для последующего анализа?
Насколько я вижу...
- Диспетчер задач показывает мне% ЦП на процесс, но только визуально - нет способа сохранить в файл.
- Perfmon позволит мне сохранить в файл и дополнительно создаст файл на основе времени (снимки через заданные интервалы времени) - это почти то, что я хочу, за исключением того, что, насколько я вижу, он не может разбить% Процессор за процессом.
- Process Explorer позволит мне разбить процесс, но он сохранит файл как снимок одного момента времени.
Итак, ни один из них не является тем, что мне нужно: мне нужно получить файл, который будет содержать что-то вроде "топ-10 процессов по процессору каждые 15 секунд, пока я не остановлю мониторинг". Причина, по которой мне это нужно, потому что у меня есть машина, на которой какой-то процесс вызывает случайные короткие скачки загрузки процессора несколько раз в день, и мне нужно выяснить, какой процесс является виновником.
Может ли что-нибудь сделать это, или я пропустил какую-то особенность perfmon или проводника процессов?
2 ответа
Process Monitor может сделать это за вас.
Сначала вы можете захотеть включить сбор событий профилирования:
Затем просто собирайте данные столько времени, сколько хотите (вы можете настроить фильтры и включить удаление отфильтрованных событий, если вы планируете собирать данные в течение продолжительных периодов времени). Затем перейдите в Инструменты -> Сводка активности процесса:
Теперь вы получите список всех активных процессов, которые вы записали, с указанием их активности с течением времени.
Затем вы можете открыть детали для одного процесса (дважды щелкнув по нему) и проверить временные метки для определенных событий на графике:
Пошаговые инструкции, основанные на ответе «Der Hochstapler» https://github.com/pestrela/smi_counter/blob/master/light_monitor/README.md
Монтаж
- монитор процесса загрузки (https://docs.microsoft.com/en-us/sysinternals/downloads/procmon)
- запустите его (первый раз), затем последовательно используйте следующие сочетания клавиш:
Конфигурация:
- CTRL+E: остановить захват
- CTRL+X: удалить пакеты
- CTRL+R: Сбросить фильтр.
- Панель инструментов:
- ОТКЛЮЧИТЬ все события в самой правой части панели инструментов (т. е. 4 значка) все типы событий (4 значка в самой правой части панели вкладок)
- ВКЛЮЧИТЬ последний тип события (самый последний значок на панели вкладок — см. рисунок)
- Меню:
- Фильтровать/отбрасывать отфильтрованные пакеты = ВКЛ.
- опционы/глубина истории: 10 миллионов
- Опции/Профилирование событий ВЫКЛ.
Захватывать:
- CTRL+E: начать захват
- очень важно: убедитесь, что вы получаете около 300 событий в секунду.
- если вы получаете больше, проверьте фильтрацию еще раз
- Запустите загрузку процессора на несколько секунд в целях тестирования:
- т. е.: powerMAX, вкладка тестов CPU-Z и т. д.
- CTRL+E: остановить съемку
- CTRL+E: начать захват
Анализ:
- Инструменты/Сводка действий процесса
- в новом окне отсортировать по процессору
- Дважды щелкните процесс, чтобы увидеть подробный график
- Сведения о столбце, строка «время пользователя»
- это будет накопленное время пользователя. В моих машинах с 8 логическими ядрами это увеличивается на 8 секунд за каждую секунду реального времени.
- Инструменты/Сводка действий процесса
Выходит за рамки: парковка ЦП — см. эту ссылку, чтобы ОТКЛЮЧИТЬ это .
Экспорт конфигурации: ProcmonConfiguration.pmc