Перестроение счетчиков производительности вручную для 64-разрядной системы Windows Server 2008 или Windows Server 2008 R2

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

Применяется к: Windows Server 2012 R2
Исходный номер базы знаний: 2554336

Симптомы

При использовании средства Монитор производительности некоторые счетчики могут отсутствовать или не содержать данные счетчиков. Библиотеки счетчиков производительности могут быть повреждены и их потребуется перестроить.

В журнале приложений могут возникнуть следующие ошибки:

Log Name: Application  
Source: Microsoft-Windows-IIS-W3SVC-PerfCounters  
Event ID: 2002  
Level: Error  
Keywords: Classic  
Description:  
Setting up Web Service counters failed, please make sure your Web Service counters are registered correctly.
Log Name: Application  
Source: IISInfoCtrs  
Event ID: 1001  
Level: Error  
Keywords: Classic  
Description:  
Unable to read the first counter index value from the registry. The error code returned by the registry is data DWORD 0.

Причина

Это может произойти, если некоторые расширяемые счетчики повреждают реестр или если программы на основе инструментария управления Windows (WMI) изменяют реестр.

Разрешение

Чтобы устранить эту проблему, используйте следующие методы.

Убедитесь, что счетчики не отключены в реестре.

Счетчики можно отключить с помощью параметров реестра. Проверьте следующие расположения реестра, чтобы убедиться, что счетчики не отключены:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\%servicename%\Performance

Примечание.

%servicename% представляет любую службу со счетчиком производительности. Например: PerfDisk, PerfOS и т. д.

Разделы реестра для DisablePerformanceCounters могут находиться в любом из этих расположений. Как указано в статье Отключение счетчиков производительности, это значение должно быть равно 0. Если значение не равно 0, счетчик может быть отключен.

  • Значение 1 означает, что счетчик отключен.
  • Значение 2 означает, что 32-разрядный счетчик отключен.
  • Значение 4 означает, что 64-разрядный счетчик отключен.

Перестройте все счетчики производительности, включая расширяемые и сторонние счетчики.

Чтобы перестроить все счетчики производительности, включая расширяемые и сторонние счетчики, введите следующие команды в командной строке администрирования. Нажмите клавишу ВВОД после каждой команды.

  1. Перестройте счетчики:

    cd c:\windows\system32
    lodctr /R
    cd c:\windows\sysWOW64
    lodctr /R
    
  2. Повторная синхронизация счетчиков с инструментарием управления Windows (WMI):

    WINMGMT.EXE /RESYNCPERF
    
  3. Остановите и перезапустите службу журналов и оповещений производительности.

    Get-Service -Name "pla" | Restart-Service -Verbose
    
  4. Остановите и перезапустите службу инструментирования управления Windows.

    Get-Service -Name "winmgmt" | Restart-Service -Force -Verbose
    
  5. Создайте новый набор сборщиков данных (не используйте существующий набор сборщиков данных).

Иногда при выполнении lodctr /R могут быть восстановлены не все счетчики. Если вы заметили, что это происходит, убедитесь, что файл c:\windows\system32\PerfStringBackup.INI содержит правильные сведения. Этот файл можно скопировать с идентичного компьютера, чтобы восстановить счетчики. В этом файле могут быть незначительные различия от компьютера к компьютеру. Но если вы заметили кардинальные различия в размерах, это может отсутствовать информация. Всегда создавайте резервную копию перед заменой. Нет никакой гарантии, что копирование этого файла с другого компьютера приведет к восстановлению всех счетчиков. По возможности сравните файл с резервными копиями компьютера, чтобы узнать, уменьшился ли размер файла в какой-то момент времени.

Для многих счетчиков расположение ini-файлов для установки счетчиков perf находится в windows\winsxs, например ini-файлы для IIS.

Если вы видите следующие ошибки:

Log Name: Application  
Source: Microsoft-Windows-IIS-W3SVC-PerfCounters  
Event ID: 2002  
Level: Error  
Keywords: Classic  
Description:  
Setting up Web Service counters failed, please make sure your Web Service counters are registered correctly.
Log Name: Application  
Source: IISInfoCtrs  
Event ID: 1001  
Level: Error  
Keywords: Classic  
Description:  
Unable to read the first counter index value from the registry. The error code returned by the registry is data DWORD 0.

Вам потребуется использовать ini-файлы ini счетчика в каталоге c:\Windows\winsxs.

Для счетчиков, которые необходимо восстановить, может существовать несколько папок. В таких случаях для поиска правильных ini-файлов может потребоваться использовать пробу и ошибку.

Пример.

Dir C:\Windows\winsxs\amd64_microsoft-windows-iis-metabase*

В этом примере попробуйте установить infoctrs.ini из каждой папки с помощью:

Lodtr infoctrs.ini

После успешного выполнения вы увидите следующую запись в журнале приложений:

Log Name: Application  
Source: Microsoft-Windows-LoadPerf  
Event ID: 1000  
Level: Information  
Description:  
Performance counters for the inetinfo (inetinfo) service were loaded successfully. The Record Data in the data section contains the new index values assigned to this service.

То же самое необходимо сделать для следующих счетчиков:

amd64_microsoft-windows-iis-w3svc*

lodctr w3ctrs.ini

После этого вы увидите:

Log Name: Application  
Source: Microsoft-Windows-LoadPerf  
Event ID: 1000  
Level: Information  
Description:  
Performance counters for the W3SVC (World Wide Web Publishing Service) service were loaded successfully. The Record Data in the data section contains the new index values assigned to this service.

Выполнив эти действия, повторно запустите WINMGMT /RESYNCPERF.

Дополнительная информация

Существует исправление для известных проблем с PerfDisk.dll в системах Windows Server 2008 и Vista. Это исправление добавлено в пакет обновления 2 (SP2) для этих операционных систем. Если вы используете пакет обновления 1 (SP1) или более поздней версии, примените исправление 961382.

Ссылки