Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

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

Event ID 1010 Perflib: The Collect Procedure in DLL failed

Обновлено: 28.08.2026  ·  Официальная база знаний

Симптомы ошибки Event ID 1010 (Perflib)

В журнале Application фиксируется ошибка от службы сбора метрик Perflib с кодом Event ID 1010:

The Collect Procedure for the "LsaSrv" service in DLL "C:\Windows\System32\lsasrv.dll" generated an exception or returned an invalid status. The data returned is in the counter definition.

Характерные проявления:

  • Служба сбора метрик Perfmon зависает при попытке построить график загрузки конкретного сервиса.
  • В отчетах системных мониторов появляются провалы (gaps) данных.
  • Вторичные ошибки Event ID 1008 и 1023 в журнале приложений.

В чем разница между 1008 и 1010: Ошибка 1008 возникает на этапе открытия (Open Procedure) библиотеки счетчиков, а ошибка 1010 — непосредственно в процессе сбора данных (Collect Procedure), когда библиотека возвращает некорректный блок памяти.

Инструкция по устранению сбоя Event ID 1010

  1. Увеличение времени ожидания ответа счетчика (Configuration Flags)

    Если тяжелая служба не успевает вернуть данные за стандартный таймаут, увеличьте лимит ожидания:

    Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib" -Name "Configuration Flags" -Value 2 -Type DWord
  2. Пересборка базовых и расширенных счетчиков Windows

    Восстановите стандартный набор счетчиков из системных резервных копий INI-файлов:

    cd C:\Windows\System32
    wbem\winmgmt /clearadap
    wbind = lodctr /R
    wbind64 = lodctr /R C:\Windows\SysWOW64
    winmgmt /resyncperf
  3. Проверка поврежденных файлов DLL через SFC

    Если сбой происходит внутри системной библиотеки (например, lsasrv.dll или netapi32.dll), проверьте ее цифровую подпись и целостность:

    sfc /scanfile=C:\Windows\System32\lsasrv.dll
Практический опыт инженера: Если Event ID 1010 указывает на библиотеки стороннего софта (например, антивируса или мониторинга баз данных), быстрее всего отключить сбор конкретного счетчика через реестр (Disable Performance Counters = 1), чтобы предотвратить лишнюю нагрузку на CPU от бесконечных дампов сбоев.

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

Почему процедура сбора Collect Procedure генерирует исключение?

Обычно это вызвано утечкой памяти в опрашиваемой службе, повреждением структур буфера данных или конфликтом версий разрядности (32-бит vs 64-бит).

Что делает флаг Configuration Flags = 2 в реестре Perflib?

Этот флаг указывает системе не отключать счетчик при первом же сбое, а продолжать попытки сбора с увеличенным временем ожидания ответа от DLL.

Как изолировать проблемную DLL счетчика?

В тексте события Event ID 1010 всегда указан точный путь к сбойной DLL (например, perfdisk.dll или aspnet_perf.dll).

Поможет ли установка обновлений Windows решить проблему 1010?

Да, если сбой вызван багом в системной библиотеке Microsoft, установка накопительного пакета обновления (Cumulative Update) заменяет поврежденную DLL на исправную версию.