Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

Windows Server, AD и Роли

Траблшутинг счетчиков производительности: Восстановление через LODCTR /R

Обновлено: 15.08.2026 · Официальная документация ↗

Архитектура подсистемы Perflib и симптомы сбоя счетчиков

Подсистема Windows Performance Counters (Perflib) отвечает за сбор метрик загрузки процессора, оперативной памяти, дисковых очередей и сетевых интерфейсов. При повреждении библиотек и реестра счетчиков администраторы сталкиваются с симптомами: оснастка perfmon.exe (Системный монитор) отображается пустой или падает, диспетчер задач Task Manager показывает нулевую или зависшую загрузку ресурсов, системы мониторинга (Zabbix Agent, Prometheus, SCOM) выдают ошибки "Cannot obtain performance data", а в журнале Application лавинообразно фиксируются ошибки Perflib Event ID 1008, 1017, 1023 и PerfProc Event ID 2002.

Причины разрушения счетчиков производительности:

  • Некорректная деинсталляция серверных приложений (Exchange, SQL Server, .NET Framework), повредивших ветку реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009.
  • Повреждение системных языковых файлов счетчиков (perfc.dat / perfh.dat).
  • Сбой WMI-адаптера счетчиков производительности (WmiApRpr).

Пошаговый регламент пересборки счетчиков через LODCTR

Шаг 1: Полная пересборка системных счетчиков из бэкапа

Встроенная утилита lodctr.exe позволяет восстановить базовые и расширенные системные счетчики из эталонных ini-файлов.

# 1. Переход в системную директорию (CMD от имени Администратора)
cd /d %windir%\system32

# 2. Пересборка стандартных 64-битных счетчиков
lodctr /R

# 3. Пересборка 32-битных счетчиков в подсистеме SysWOW64
cd /d %windir%\syswow64
lodctr /R

Примечание: Если команда возвращает сообщение "Error: Unable to rebuild performance counter setting from system backup store, Error code is 2", переходите к Шагу 2.

Шаг 2: Ручная повторная синхронизация extensible counters

Если автоматическая пересборка завершилась ошибкой 2, выполните принудительную перерегистрацию всех INI-файлов служб.

# Пакетная перерегистрация всех файлов счетчиков (Выполнить в CMD)
cd /d %windir%\system32
for /f %s in ('dir /b *.ini') do lodctr %s

Шаг 3: Синхронизация счетчиков производительности с подсистемой WMI

После восстановления реестра Perflib необходимо обновить классы WMI, транслирующие метрики производительности.

# Повторная синхронизация счетчиков WMI (WMI Performance Adapter)
winmgmt /resyncperf
Restart-Service wmiApSrv -Force

Шаг 4: Проверка работоспособности через PowerShell

Убедитесь, что системные счетчики возвращают корректные данные.

# Тестовый запрос счетчика загрузки процессора
Get-Counter -Counter "\Processor(_Total)\% Processor Time"

Типовые ошибки администраторов

  • Игнорирование 32-битной подсистемы SysWOW64: На 64-битных системах Windows Server счетчики должны быть пересобраны в ОБЕИХ папках (System32 и SysWOW64), иначе 32-битные агенты мониторинга продолжат падать с ошибками.
Система мониторинга перестала получать метрики с серверов?
Сбои счетчиков производительности оставляют инфраструктуру 'слепой' для инженеров. Передайте поддержку серверов профессионалам ITSTM: восстановим компоненты ОС, наладим сбор телеметрии (Zabbix/Grafana) и обеспечим непрерывный мониторинг.
💡 Практика специалистов: Если после восстановления Perflib падает счетчик конкретного компонента (например, .NET CLR Memory), перейдите в папку соответствующей версии .NET Framework (например, C:\Windows\Microsoft.NET\Framework64\v4.0.30319) и выполните команду 'lodctr _perf-*.ini' для точечной перерегистрации счетчиков среды исполнения.

Частые вопросы (FAQ)

Почему lodctr /R возвращает ошибку с кодом 2?

Код ошибки 2 (File Not Found) означает, что системный файл резервной копии счетчиков поврежден или отсутствует. В этом случае требуется повторная регистрация всех .ini файлов из System32 вручную.

Требуется ли перезагрузка сервера после выполнения lodctr /R?

Перезагрузка не обязательна, но рекомендуется перезапустить службы, использующие счетчики (Служба удаленного реестра, WMI, Zabbix Agent).

В чем разница между lodctr /r в строчном и заглавном регистре?

Команда lodctr /R (заглавная) выполняет полное восстановление счетчиков из системного хранилища. Команда lodctr /r (строчная) используется для восстановления конфигураций конкретного файла драйвера.

Где в реестре хранятся базовые счетчики производительности?

Базовые счетчики хранятся в ветках реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib (ключи 009 для английского языка и 019 для русского).

Полезные материалы
Рекомендуем