Recompilación manual de valores de biblioteca de contadores de rendimiento

En este artículo se describe cómo volver a generar manualmente los valores de la biblioteca de contadores de rendimiento.

Se aplica a: Windows 10 (todas las ediciones), Windows Server 2012 R2
Número de KB original: 300956

Importante

Esta sección, método o tarea contiene pasos que le indican cómo modificar el Registro. No obstante, pueden producirse problemas graves si modifica el registro de manera incorrecta. En consecuencia, asegúrese de seguir estos pasos cuidadosamente. Para mayor protección, cree una copia de seguridad del registro antes de modificarlo. Después, puede restaurar el registro si se produce un problema. Para obtener más información sobre cómo hacer una copia de seguridad del Registro y cómo restaurarlo, consulte Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows.

Cuando se usa la herramienta Monitor del sistema, es posible que falten algunos contadores o que no contengan datos de contador. Es posible que el conjunto base de bibliotecas de contadores de rendimiento se dañe y tenga que volver a generarse. Además, es posible que tenga que volver a compilar los contadores personalizados (aplicación de Microsoft .NET Framework creada) o los contadores extensibles.

Este comportamiento puede producirse en las siguientes situaciones:

  • determinados contadores extensibles dañan el registro.
  • algunos programas basados en Instrumental de administración de Windows (WMI) modifican el Registro.

Recompilación de los contadores de rendimiento base

La información de contador extensible se almacena en ambas ubicaciones:

  • Subclave del Registro: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009.

  • El %Systemroot%\System32\Perfc009.dat archivo y el %Systemroot%\System32\Perfh009.dat archivo.

Para volver a generar manualmente las bibliotecas de contadores de rendimiento base, siga estos pasos:

  1. Expanda el archivo Perfc009.dat y el archivo Perfh009.dat . Estos archivos se encuentran en el disco de instalación de Windows. Los archivos comprimidos se encuentran en y en DriveLetter:\i386\perfc009.da_DriveLetter:\i386\perfh009.da_. Reemplace los archivos que se encuentran en la %Systemroot%\System32 carpeta.

  2. Inicie Editor del Registro y, a continuación, busque la clave siguiente en el Registro:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

  3. En el Registro, cambie el valor último contador a 1846 (decimal) y cambie el valor de Última ayuda a 1847 (decimal).

  4. Busque la siguiente clave del Registro para buscar servicios que tengan una subclave Performance :
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

  5. Quite los siguientes valores de la subclave Performance (si existen):

    • Primer contador
    • Primera ayuda
    • Último contador
    • Última ayuda

    También puede usar la herramienta Exctrlst.exe para buscar los archivos de biblioteca de vínculos dinámicos (DLL) del contador de rendimiento que están instalados. A continuación, acceda al Registro para quitar los valores DWORD. Ahora tiene un registro de rendimiento viable que contiene solo contadores base del sistema.

    Nota:

    La eliminación de los valores de la subclave Rendimiento en el Registro puede hacer que las aplicaciones de .NET Framework instaladas no funcionen la próxima vez que se inicien. Si esto ocurre, use el lodctr /R comando en la sección Volver a agregar los contadores extensibles para volver a generar los contadores de rendimiento. Si sigue teniendo problemas al iniciar una aplicación de .NET Framework, consulte la sección Reinstalación de contadores de rendimiento de ensamblados de .NET Framework personalizados en este artículo.

Volver a agregar los contadores extensibles

Debe volver a agregar los contadores extensibles de la lista de servicios. Antes de hacerlo, debe identificar el archivo .ini que se usa para cargar los contadores:

  1. Abra una ventana del símbolo del sistema.

  2. En el símbolo del sistema, escriba cd %Systemroot%\System32y presione ENTRAR.

  3. En el símbolo del sistema, escriba findstr drivername *.iniy presione ENTRAR.

  4. Anote el nombre del archivo .ini para cada nombre de controlador de la lista.

  5. En el símbolo del sistema, escriba el lodctr <inifile> comando y presione ENTRAR.

    Nota:

    En este comando, <inifile> representa el nombre del archivo .ini para el controlador que desea volver a cargar.

    Por ejemplo, si desea volver a cargar el controlador ASP, la lista que anotó en el paso 4 muestra que Axperf.ini es el archivo .ini para el controlador ASP (axperf.ini:drivername=ASP). Para volver a cargar el controlador ASP, escriba lodctr axperf.ini en el símbolo del sistema y presione ENTRAR.

  6. Repita el paso 5 para cada archivo .ini de la lista.

  7. Restart your computer.

Para volver a generar todos los contadores de rendimiento, incluidos los contadores extensibles y de terceros en Windows Server, escriba los siguientes comandos en un símbolo del sistema. Presione ENTRAR después de cada comando.

cd \windows\system32
lodctr /R

Nota:

  • /R está en mayúsculas. Debe tener derechos administrativos en el equipo para realizar correctamente este comando.
  • En un equipo que ejecuta una edición de 32 bits de Windows, el Lodctr /R:<filename> comando es el método estándar para restaurar las cadenas del Registro del contador de rendimiento e información mediante un nombre de archivo.

Windows Server recompila todos los contadores porque lee todos los archivos .ini de la C:\Windows\inf\009 carpeta del sistema operativo en inglés.

Nota:

  • Si ejecuta un producto de clúster o centro de datos, debe conmutar por error el nodo para actualizar la lista de contadores. Debe hacerlo después de realizar los pasos descritos en Volver a agregar los contadores extensibles para los contadores base y extensibles.
  • En sistemas que ejecutan aplicaciones que agregan sus propios contadores de rendimiento, como Exchange o SQL Server, es posible que el archivo .ini que se usa para cargar el contador de rendimiento no se encuentre en %Systemroot%\System32. Estos archivos .ini normalmente se pueden encontrar en la estructura de carpetas de aplicaciones.
  • Si recibe un mensaje de error sobre la biblioteca de rendimiento cuando se usan los pasos anteriores, es posible que tenga que descargar y volver a cargar las bibliotecas de vínculos dinámicos (DLL) de rendimiento de IIS.
  • Si sigue experimentando problemas al iniciar una aplicación de .NET Framework, consulte la sección Reinstalación de contadores de rendimiento de ensamblados de .NET Framework personalizados .

Reinstalación de contadores de rendimiento de ensamblados de .NET Framework personalizados

Si sigue teniendo problemas al iniciar una aplicación de .NET Framework después de realizar los procedimientos que se enumeran aquí, es posible que tenga que volver a generar los contadores de rendimiento para la aplicación personalizada de .NET Framework. Para ello, use la /i opción en la Herramienta de instalador de .NET Framework (Installutil.exe). Debe conocer los nombres de archivo de los archivos DLL que crean los contadores de rendimiento.

Si sigue estos procedimientos y quita los contadores del registro de todos los servicios instalados en un sistema que tiene instalado Microsoft System Center Operations Manager 2007, es posible que tenga un servidor de administración roto. Los contadores de los módulos Config Service, SDK Service y Database Write no se proporcionan en forma de contadores extensibles en archivos INI. En su lugar, se registran en el momento de la instalación. Por lo tanto, al intentar iniciar System Center Operations Manager 2007, es posible que reciba un mensaje de error similar al siguiente ejemplo porque faltan los contadores de rendimiento:

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.

Para resolver este problema en System Center Operations Manager 2007, debe reinstalar los ensamblados de .NET Framework que crearon los contadores de rendimiento. Para ello, use la /i opción de la Herramienta de instalador de .NET Framework (Installutil.exe) para volver a instalar los ensamblados siguientes:

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

Por ejemplo, en el símbolo del sistema, escriba los comandos siguientes y presione ENTRAR después de cada comando:

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

Nota:

Debe tener derechos administrativos en el equipo para realizar correctamente estos comandos.