Полное руководство по Performance Monitor в Windows 10

Вас раздражает медленная и непослушная Windows-машина? Причины могут быть разные: одновременно запущено слишком много программ, устаревшее или слабое железо, скрытые вредоносные процессы и т. д. Самая сложная часть — точно определить, какие факторы влияют на производительность именно в вашем случае.
Хорошая новость: Windows предоставляет мощный набор диагностических инструментов. Один из ключевых — Performance Monitor (иногда называемый perfmon). Это инструмент не для «быстрого взгляда», а для глубокой аналитики — он помогает сократить время на поиск причин и подтвердить гипотезы точными метриками.
В этом руководстве вы найдёте всё необходимое: как открыть Performance Monitor, какие счётчики выбирать, как сохранять и планировать сбор данных, как анализировать логи, а также практические шаблоны и чек-листы для быстрого расследования проблем.
Как запустить Performance Monitor
Windows 10 позволяет открыть Performance Monitor минимум пятью способами. Используйте любой удобный для вас.
- Через поиск Windows: Откройте Пуск, найдите “performance monitor” и запустите приложение с пометкой “Desktop App”.
- Через Административные инструменты: Панель управления → Система и безопасность → Административные инструменты → Performance Monitor.
- Через окно «Выполнить»: Нажмите Windows+R, введите perfmon и нажмите Enter.
- Через Командную строку: Откройте меню Win+X → Command Prompt (или PowerShell), введите perfmon и Enter.
- Через PowerShell: Откройте PowerShell и введите perfmon, затем Enter.
Совет: команда perfmon работает во всех перечисленных средах — это просто вызов графического интерфейса инструмента.
Что такое счётчики и зачем они нужны
Определение: счётчик — это отдельная метрика, которую Performance Monitor может измерять в реальном времени или записывать в файл для последующего анализа.
По умолчанию Performance Monitor показывает один счётчик: Processor Time — процент загрузки процессора за конкретный момент времени. Но инструмент может отслеживать сотни счётчиков, сгруппированных по категориям (Memory, PhysicalDisk, Network Interface и др.). Сочетания счётчиков дают контекст и помогают понять причину проблемы — один счётчик редко говорит всю правду.
Ниже — развернутые объяснения ключевых счётчиков, которые чаще всего используются для диагностики замедлений.
Память
Memory | % Committed Bytes In Use — процент выделённой и используемой виртуальной памяти от общего доступного объёма. Резкий постоянный рост указывает на возможную утечку памяти (memory leak).
- Что делать: выявить процесс, который растёт во времени; завершить/обновить приложение; добавить физической RAM если нагрузки оправданны.
Paging File | % Usage — доля используемого файла подкачки (pagefile). Высокая и постоянная нагрузка указывает на недостаток RAM, частые обращения к диску и возможное торможение ввода-вывода.
- Что делать: увеличить RAM, оптимизировать приложения, при необходимости увеличить размер pagefile.
Процессор (CPU)
Processor | % Processor Time — общий процент загрузки CPU. Важно смотреть и краткосрочные пики, и среднюю загрузку.
- Что делать: найти процесс с высокой загрузкой, проверить фоновые сервисы, обновить драйверы, рассмотреть многоядерность и распределение потоков.
Thread | % Processor Time — загрузка отдельного потока процесса. Полезен при отладке приложений с несколькими потоками.
- Что делать: при высоких значениях определить поток через инструменты типа Process Explorer и проанализировать код/настройки приложения.
Processor | % Interrupt Time — доля времени, потраченная на обработку аппаратных прерываний. Если стабильно выше 10–20%, это может указывать на проблемный драйвер устройства или аппаратную неисправность.
- Что делать: обновить/откатить драйвер, отключить подозрительное устройство, проверить BIOS/UEFI и питание.
Диски
PhysicalDisk | % Disk Time — доля времени, в течение которого диск занят обслуживанием операций ввода-вывода. Постоянно высокий процент говорит о том, что диск является узким местом.
- Что делать: перейти на SSD, разделить нагрузку по дискам, уменьшить swap, оптимизировать индексирование и резервное копирование.
PhysicalDisk | % Disk Read Time / % Disk Write Time — отдельно читаемые/записываемые операции.
- Что делать: если проблемы только с записью — проверьте фоновые операции резервного копирования и антивирус; если только чтение — проверьте фрагментацию (для HDD) и паттерн доступа приложений.
Сеть
- Network Interface | Bytes Total/sec — количество байт в секунду через конкретный сетевой интерфейс. Если трафик близок к 70–80% пропускной способности, сеть может стать узким местом.
- Что делать: оптимизировать сетевые службы, сегментировать трафик, обновить оборудование или увеличить канал.
Прочие полезные счётчики
- Process | Private Bytes — объём памяти, выделенной одному процессу и недоступной другим. Помогает найти процессы, «поедающие» память.
- Process | IO Data Bytes/sec — суммарный объём ввода-вывода процесса в байтах/сек.
- System | Processor Queue Length — очередь потоков, ожидающих выполнения на CPU. Значение больше, чем число логических процессоров, обычно означает перегрузку.
Важно: счётчики именуются по схеме Category | Counter и могут иметь экземпляры (instance) для отдельных процессов или интерфейсов. При настройке Data Collector Set указывайте и категорию, и конкретный счётчик.
Создание Data Collector Set: зачем и как
Data Collector Set (набор сборщиков данных) — это сохранённый набор счётчиков, который можно запускать по требованию или по расписанию. Он упрощает повторяемый сбор метрик: не надо вручную добавлять те же счётчики снова и снова.
Windows 10 включает два предопределённых набора в Data Collector Sets > System:
- System Diagnostics — подробный набор диагностических счётчиков, который по умолчанию выполняется 60 секунд и собирает глубокую информацию о системе.
- System Performance — набор, фокусированный на процессоре, дисках, памяти, сети и трассировке ядра; также выполняется 60 секунд.
Ниже — подробный пошаговый сценарий создания собственного набора.
Пошаговая инструкция: создать набор вручную
- Откройте Performance Monitor.
- В боковой панели: Data Collector Sets → User Defined, правый клик → New → Data Collector Set.
- Дайте имя (например, Network Performance, Memory Leak Investigation) и выберите Create manually (Advanced). Нажмите Next.
- Выберите Create data logs → Performance counter. Нажмите Next.
- Нажмите Add… и в появившемся окне выберите необходимые счётчики и их экземпляры (например, Process\MyApp | Private Bytes, Memory | % Committed Bytes In Use и т. д.). Нажмите Add → OK.
- Важно: установите Sample Interval в 1 секунду, если вам нужно детальное поведение. Более долговременные исследования можно вести с интервалом 5–15 секунд.
- Укажите путь для хранения логов. Можете оставить путь по умолчанию или выбрать собственный каталог (часто используют папку на Desktop или отдельный диск).
- Укажите учётную запись, от которой будет запускаться набор (по умолчанию System). Нажмите Finish.
После создания вы сможете правой кнопкой по набору → Start / Stop. По умолчанию запуск вручную делает набор бесконечным, пока вручную не остановите или не завершится сессия.
Настройка времени выполнения
Чтобы задать ограничение по времени (например, 60 секунд): правый клик по набору → Properties → Stop Condition → Overall duration → укажите 00:01:00.
Планирование автоматических запусков
Чтобы выполнять набор по расписанию: правый клик → Properties → Schedule → Add. Установите дату/время, повторения и дни недели. Можно создать несколько расписаний для разных времён и дней.
Совет: расписание удобно использовать для ночных длительных сборов, когда серверы в минимальной активности, или для запланированного мониторинга во время нагрузочных тестов.
Анализ логов и форматы представления данных
Когда набор завершил сбор, его лог (.BLG) можно загрузить в Performance Monitor для визуализации.
- Нажмите Performance Monitor в левой панели.
- На панели инструментов выберите View Log Data.
- Во вкладке Source выберите Log files → Add → укажите .BLG файл.
- Во вкладке Data добавьте счётчики из файла → Apply → OK.
Performance Monitor отображает данные в пяти форматах:
- Lines — линии; полезно для временного анализа и сравнения пиков.
- Histograms — гистограммы распределения значений за период.
- Reports — табличный отчет с агрегированными значениями (min/max/avg).
- Areas — визуализация как заполненные области, помогает видеть суммарную нагрузку.
- Stacked — сложенная диаграмма для сравнения совокупного вклада компонентов.
Используйте Lines для оперативной отладки и Reports, чтобы быстро получить статистику по интервалам.
Практическая методика диагностики тормозов — мини-методология
Шаг 1 — собрать контекст: когда именно машина тормозит? При запуске, при загрузке сайта, при копировании файлов, при запуске конкретного приложения?
Шаг 2 — быстрый осмотр: откройте Диспетчер задач и посмотрите на процессы, загрузку ЦП/памяти/диска. Это даст первичную гипотезу.
Шаг 3 — запустите Data Collector Set с набором базовых счётчиков (CPU, Memory, Disk, Network) с интервалом 1–5 секунд на период, когда воспроизводится проблема.
Шаг 4 — проанализируйте лог в формате Lines и Reports: сравните пики по времени с действиями пользователя и событиями в Event Viewer.
Шаг 5 — при необходимости добавьте специализированные счётчики (Interrupts, Process-specific, Disk Read/Write Times) и повторите сбор.
Шаг 6 — подтвердите причину: если виновник — процесс, остановите/обновите/проанализируйте приложение; если железо — планируйте апгрейд или замену; если драйвер — обновите/откатите.
Шаг 7 — при необходимости создайте автоматическое расписание мониторинга и оповещения (через сторонние системы или скрипты, использующие логи .BLG).
Шаблоны Data Collector Sets (готовые пресеты)
Ниже — примеры наборов счётчиков, которые можно быстро создать и использовать как шаблоны.
- Network Performance (цель — выявить сетевые узкие места)
- Network Interface | Bytes Total/sec (все экземпляры)
- TCPv4 | Segments/sec
- IP | Output Queue Length
- Processor | % Processor Time (системный)
- Memory | Page Faults/sec
- Sample Interval: 1–5 секунд
- Memory Leak Investigation (цель — найти процесс, накапливающий память)
- Memory | % Committed Bytes In Use
- Paging File | % Usage
- Process | Private Bytes (экземпляры: имя процесса)
- Process | Working Set
- .BLG retention: 24–72 часа
- Sample Interval: 1 секунда
- Disk I/O Baseline (цель — определить узкие места ввода-вывода)
- PhysicalDisk | % Disk Time (все диски)
- PhysicalDisk | Avg. Disk sec/Read
- PhysicalDisk | Avg. Disk sec/Write
- Process | IO Data Bytes/sec (все интересующие процессы)
- Sample Interval: 1–5 секунд
- Server Load Profile (для серверов приложений)
- Processor | % Processor Time (все CPU)
- System | Processor Queue Length
- Memory | Available MBytes
- .NET CLR Memory | # Bytes in all Heaps (если есть .NET приложения)
- Network Interface | Bytes Total/sec
- Sample Interval: 5 секунд
Каждый из этих шаблонов можно сохранить и использовать как базу для более узконаправленного сбора.
Когда Performance Monitor не поможет (контрпримеры)
- Проблемы аппаратного уровня, которые не проявляют явную аномалию счётчиков (например, периодические электро-помехи): perfmon может не зафиксировать короткие эпизоды без последовательной корреляции с логами устройств.
- Невидимая утечка памяти в стороннем драйвере с быстрым восстановлением: если утечка настолько краткосрочна, что не совпадает с интервалами выборки, её трудно увидеть.
- Проблемы с пользовательским интерфейсом, вызванные блокировками UI-потока в приложении: perfmon покажет, что CPU и память в норме, но не покажет причину блокировки, если не смотреть специфичные счётчики потоков/локов.
В таких случаях дополните perfmon: используйте Event Viewer, трассировку приложений, Process Explorer, и, при необходимости, отладочные инструменты разработчиков.
Альтернативные и дополняющие инструменты
- Task Manager (Диспетчер задач) — быстрый обзор процессов и базовой загрузки. Удобен для первоначальной диагностики.
- Resource Monitor — детализирует диск, сеть и память по процессам; хорош как промежуточный инструмент.
- Process Explorer (Sysinternals) — детальная информация о процессах, их потоках, дескрипторах и модульной структуре. Отлично дополняет perfmon.
- Event Viewer — проверка системных ошибок, драйверов и аппаратных проблем.
Performance Monitor хорош тем, что даёт точные временные ряды счётчиков и позволяет сохранять результаты для последующего анализа и отчетности.
Чек-лист для ролей
Администратор системы:
- Создать базовые Data Collector Sets для основных серверов.
- Настроить расписание ночного сбора и ротацию логов.
- Проверять логи на регулярной основе и связывать с инцидентами.
Power user / разработчик:
- Создать наборы для приложений (например, .NET/Java) и собирать при репродукции ошибки.
- Использовать низкий интервал выборки (1 сек) при отладке.
Техническая поддержка / Helpdesk:
- При получении жалобы на медлительность попросить время/действия, когда падает производительность, и инициировать сбор с подходящими счётчиками.
- При частых обращениях хранить логи для выявления паттернов.
Критерии приёмки
- Сбор данных: Data Collector Set успешно запускается и собирает .BLG файлы в заданную директорию.
- Достоверность: выбраны все релевантные счётчики для исследуемой проблемы (CPU, Memory, Disk, Network и специфичные для приложения).
- Интервал: выбран подходящий sample interval (1–5 секунд для детальной отладки, 10–60 секунд для длительного мониторинга).
- Анализ: при корректно запущенном наборе можно воспроизвести проблему и зафиксировать соответствующие пики/аномалии в логе.
Руководство по инциденту и откату
Если запланированный сбор данных или изменения в системе вызвали ухудшение состояния:
- Остановите Data Collector Set.
- Верните систему в предыдущее состояние (если вносились настройки, конфигурации или обновления) — откат драйверов, отмена изменений.
- Воспользуйтесь логами Performance Monitor и Event Viewer для корневого анализа.
- Выполните восстановление из резервной копии если необходимо. Всегда фиксируйте время инцидента и действия для последующего анализа.
Совместимость и примечания по версиям
Performance Monitor присутствует в Windows начиная с ранних версий NT и в Windows 10 работает стабильно. Интерфейс и часть счётчиков могут слегка отличаться между выпускам Windows 10, Windows Server и более старыми версиями. В Windows 11 и новых сборках интерфейс аналогичен, но возможна интеграция с современными инструментами телеметрии.
Примечание о правах
Для создания некоторых наборов или доступа к системным счётчикам могут требоваться права администратора. Если вы видите «Access Denied», запускайте Performance Monitor от имени администратора.
FAQ
Какой интервал выборки выбрать?
Для отладки используйте 1 секунду — это даёт детальную картину. Для длительного мониторинга выбирайте 5–60 секунд, чтобы не генерировать слишком много логов.
Можно ли автоматически оповещать при достижении порога?
Performance Monitor сам по себе ограничен в оповещениях, но вы можете интегрировать с Task Scheduler, Logman или внешними системами мониторинга, чтобы реагировать на пороги.
Как долго хранить .BLG логи?
Зависит от задач и доступного места. Для глубоких расследований храните не менее нескольких дней; для базовых метрик достаточно недельной ротации. Управляйте ротацией логов вручную или через скрипты.
Как выбрать счётчики для конкретного приложения?
Начните с Process | % Processor Time, Process | Private Bytes и IO Counters для конкретного имени процесса. Если приложение на .NET, добавьте .NET CLR Memory.
Короткая памятка (cheat sheet)
- Открыть: Windows+R → perfmon
- Создать набор: Data Collector Sets → User Defined → New → Create manually
- Важные счётчики: Processor | % Processor Time, Memory | % Committed Bytes In Use, PhysicalDisk | % Disk Time, Network Interface | Bytes Total/sec
- Интервал: 1 сек — детально, 5–60 сек — длительно
- Формат логов: .BLG — загрузка в PerfMon для анализа
Заключение
Performance Monitor — не магический инструмент, но это один из самых точных и гибких способов собрать количественные доказательства проблем с производительностью Windows-машины. Он хорошо сочетается с Task Manager, Resource Monitor, Event Viewer и инструментами Sysinternals. Основная ценность — возможность воспроизводимо собирать данные, сохранять их и анализировать в удобном виде.
Важно помнить: монитор — это инструмент выявления, а не автоматического исправления. После того как метрики укажут на проблему, следуют действия: обновление ПО/драйверов, апгрейд железа или оптимизация конфигурации приложений.
Попробуйте: создайте простой Data Collector Set на 60 секунд с основными счётчиками, воспроизведите проблему и проанализируйте лог. Это часто даёт «озарение» и указывает, где копать дальше.
Если у вас остались вопросы или вы хотите пример конкретного набора счётчиков для вашей задачи — напишите, опишите сценарий, и я помогу составить набор и интерпретировать результаты.
Похожие материалы
Очистка Git — удалить неотслеживаемые файлы
WordPress + Subversion: установка и миграция
sftp в Linux: безопасная передача файлов
Обновляемая бегущая строка на сайте через FTP и PHP
Как DEB пакеты скрывают бэкдоры и как защититься