Поделиться через


Перестроение счетчиков производительности вручную для систем Windows Server 2008 64 или Windows Server 2008 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 счетчика в каталоге 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 для этих операционных систем. Если вы находитесь в пакете обновления 1 или ниже, примените исправление 961382.

Ссылки