Перестроение значений библиотек счетчиков производительности вручную

В этой статье описывается, как вручную перестроить значения библиотеки счетчиков производительности.

Область применения: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер базы знаний: 300956

Важно!

В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Для получения дополнительной информации о том, как создать резервную копию и восстановить реестр, см. статью Сведения о резервном копировании и восстановлении реестра Windows.

При использовании средства системного монитора некоторые счетчики могут отсутствовать или не содержать данные счетчиков. Базовый набор библиотек счетчиков производительности может быть поврежден и может потребоваться перестроить. Кроме того, может потребоваться перестроить все настраиваемые (созданные microsoft платформа .NET Framework приложение) счетчики или любые расширяемые счетчики.

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

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

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

Расширяемые сведения о счетчике хранятся в обоих следующих расположениях:

  • Подраздел реестра: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009.

  • Файл %Systemroot%\System32\Perfc009.dat и %Systemroot%\System32\Perfh009.dat файл.

Чтобы перестроить базовые библиотеки счетчиков производительности вручную, выполните следующие действия.

  1. Разверните файл Perfc009.dat и файл Perfh009.dat . Эти файлы находятся на установочном диске Windows. Сжатые файлы находятся по адресу DriveLetter:\i386\perfc009.da_ и в DriveLetter:\i386\perfh009.da_. Замените файлы, которые находятся в папке %Systemroot%\System32 .

  2. Запустите Редактор реестра, а затем найдите следующий раздел в реестре:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

  3. В реестре измените значение последнего счетчика на 1846 (десятичное), а значение последней справкина 1847 (десятичное).

  4. Найдите следующий раздел реестра, чтобы найти службы с подразделом Производительность :
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

  5. Удалите следующие значения из подраздела Производительность (если они существуют):

    • Первый счетчик
    • Первая справка
    • Последний счетчик
    • Последняя справка

    Вы также можете использовать средство Exctrlst.exe для поиска установленных файлов библиотек динамической компоновки (DLL) счетчика производительности. Затем получите доступ к реестру, чтобы удалить значения DWORD. Теперь у вас есть доступный реестр производительности, содержащий только системные базовые счетчики.

    Примечание.

    Удаление значений из подраздела Производительность в реестре может привести к тому, что все установленные платформа .NET Framework приложения не будут работать при следующем запуске. В этом случае используйте lodctr /R команду в разделе Повторное добавление расширяемых счетчиков , чтобы перестроить счетчики производительности. Если при запуске приложения платформа .NET Framework по-прежнему возникают проблемы, см. раздел Переустановка счетчиков производительности пользовательских платформа .NET Framework сборок этой статьи.

Повторное добавление расширяемых счетчиков

Необходимо снова добавить расширяемые счетчики из списка служб. Перед этим необходимо определить .ini файл, который используется для загрузки счетчиков:

  1. Откройте окно командной строки.

  2. В командной строке введите cd %Systemroot%\System32и нажмите клавишу ВВОД.

  3. В командной строке введите findstr drivername *.iniи нажмите клавишу ВВОД.

  4. Обратите внимание на имя файла .ini для каждого имени драйвера в списке.

  5. В командной строке введите lodctr <inifile> команду и нажмите клавишу ВВОД.

    Примечание.

    В этой команде <inifile> представляет имя файла .ini для драйвера, который требуется перезагрузить.

    Например, если вы хотите перезагрузить драйвер ASP, в списке, который вы записали на шаге 4, показано, что Axperf.ini является .ini файлом для драйвера ASP (axperf.ini:drivername=ASP). Чтобы перезагрузить драйвер ASP, введите lodctr axperf.ini в командной строке и нажмите клавишу ВВОД.

  6. Повторите шаг 5 для каждого .ini файла в списке.

  7. Restart your computer.

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

cd \windows\system32
lodctr /R

Примечание.

  • /R имеет верхний регистр. Для успешного выполнения этой команды необходимо иметь права администратора на компьютере.
  • На компьютере под управлением 32-разрядного выпуска Windows Lodctr /R:<filename> команда является стандартным методом для восстановления строк реестра счетчиков производительности и сведений с помощью имени файла.

Windows Server перестраивает все счетчики, так как считывает все .ini файлы в папке C:\Windows\inf\009 для операционной системы на английском языке.

Примечание.

  • Если вы используете кластер или продукт центра обработки данных, необходимо выполнить отработку отказа узла, чтобы обновить список счетчиков. Это необходимо сделать после выполнения действий в разделе Повторное добавление расширяемых счетчиков как для базовых, так и для расширяемых счетчиков.
  • В системах с приложениями, которые добавляют собственные счетчики производительности, например Exchange или SQL Server, файл .ini, используемый для загрузки счетчика производительности, может не находиться в %Systemroot%\System32. Эти .ini файлы обычно находятся в структуре папок приложений.
  • Если при выполнении предыдущих шагов появляется сообщение об ошибке о библиотеке производительности, может потребоваться выгрузить и перезагрузить библиотеки динамической компоновки производительности IIS (DLL).
  • Если при запуске приложения платформа .NET Framework по-прежнему возникают проблемы, см. раздел Переустановка счетчиков производительности пользовательских платформа .NET Framework сборок.

Переустановка счетчиков производительности пользовательских платформа .NET Framework сборок

Если при запуске приложения платформа .NET Framework после выполнения указанных здесь процедур по-прежнему возникают проблемы, может потребоваться перестроить счетчики производительности для пользовательского приложения платформа .NET Framework. Для этого используйте параметр в средстве /i установщика платформа .NET Framework (Installutil.exe). Необходимо знать имена файлов DLL, которые создают счетчики производительности.

Если следовать этим процедурам и удалить счетчики из реестра для всех служб, установленных в системе с установленным Microsoft System Center Operations Manager 2007, может возникнуть неисправный сервер управления. Счетчики для модулей службы конфигурации, службы SDK и записи базы данных не предоставляются в виде расширяемых счетчиков в INI-файлах. Вместо этого они регистрируются во время установки. Таким образом, при попытке запустить System Center Operations Manager 2007 может появиться сообщение об ошибке, аналогичное следующему примеру, так как отсутствуют счетчики производительности:

Event Type: Error  
Event Source: OpsMgr SDK Service  
Event Category: None  
Event ID: 26380  
Date: date  
Time: time  
User: N/A  
Computer: MOM  
Description: The System Center Operations Manager SDK Service failed due to an unhandled exception.

Чтобы устранить эту проблему в System Center Operations Manager 2007, необходимо переустановить платформа .NET Framework сборок, создающих счетчики производительности. Для этого используйте параметр в средстве /i установщика платформа .NET Framework (Installutil.exe), чтобы переустановить следующие сборки:

  • Microsoft.Mom.ConfigService.dll
  • Microsoft.Mom.Sdk.ServiceDataLayer.dll
  • Microsoft.Mom.DatabaseWriteModules.dll
  • Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll

Например, в командной строке введите следующие команды и нажмите клавишу ВВОД после каждой команды:

InstallUtil /i Microsoft.Mom.ConfigService.dll
InstallUtil /i Microsoft.Mom.Sdk.ServiceDataLayer.dll
InstallUtil /i Microsoft.Mom.DatabaseWriteModules.dll
InstallUtil /i Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll

Примечание.

Для успешного выполнения этих команд необходимо иметь права администратора на компьютере.