Recompilar manualmente los valores de la 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 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 acerca de cómo hacer una copia de seguridad y restaurar el Registro, vea How to back up and restore the registry in Windows.

Al usar la herramienta Monitor del sistema, es posible que falten algunos contadores o que no contengan datos de contador. El conjunto base de bibliotecas de contadores de rendimiento puede estar dañado y es posible que deba volver a crearse. Además, es posible que deba volver a generar cualquier contador personalizado (microsoft .NET Framework aplicación creada) o cualquier contador extensible.

Este comportamiento puede producirse en las siguientes situaciones:

  • ciertos contadores extensibles dañan el Registro.
  • algunos Windows de instrumental de administración (WMI) modifican el Registro.

Recompilar los contadores de rendimiento base

La información de contador extensible se almacena en las dos ubicaciones siguientes:

  • La 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 Windows de instalación. Los archivos comprimidos se encuentran en DriveLetter:\i386\perfc009.da_ y en DriveLetter:\i386\perfh009.da_ . Reemplace los archivos que se encuentran en la %Systemroot%\System32 carpeta.

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

  3. En el Registro, cambie el valor de Last Counter a 1846 (decimal) y cambie el valor de Last Help a 1847 (decimal).

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

  5. Quite los siguientes valores de la subclave Rendimiento (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 que puede funcionar y que solo contiene contadores base del sistema.

    Nota

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

Volver a agregar los contadores extensibles

Debe agregar los contadores extensibles de nuevo 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%\System32 y, a continuación, presione ENTRAR.

  3. En el símbolo del sistema, escriba findstr drivername *.ini y, a continuación, presione ENTRAR.

  4. Tenga en cuenta el nombre del .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, a continuación, presione ENTRAR.

  6. Repita el paso 5 para cada .ini archivo 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 comando es el método estándar para restaurar las cadenas e información del registro del contador de rendimiento mediante un nombre de Lodctr /R:<filename> archivo.

Windows Server vuelve a generar todos los contadores porque lee todos los .ini archivos de la carpeta C:\Windows\inf\009 para el sistema operativo 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 los contadores 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 esté ubicado en %Systemroot%\System32 . Estos .ini normalmente se pueden encontrar en la estructura de carpetas de aplicaciones.
  • Si recibe un mensaje de error sobre la biblioteca de rendimiento cuando usa los pasos anteriores, es posible que tenga que descargar y volver a cargar las bibliotecas de vínculos dinámicos de rendimiento (DLL) de IIS.
  • Si sigue experimentando problemas al iniciar una aplicación .NET Framework, consulte la sección Reinstalar contadores de rendimiento .NET Framework ensamblado personalizados.

Reinstalar contadores .NET Framework de rendimiento de ensamblados personalizados

Si sigue teniendo problemas al iniciar una aplicación de .NET Framework después de realizar los procedimientos enumerados aquí, es posible que tenga que volver a generar los contadores de rendimiento de la aplicación .NET Framework personalizada. Para ello, use la /i opción de la herramienta .NET Framework instalador (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 para 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 Servicio de configuración, Servicio SDK y Escritura de base de datos 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, cuando intente iniciar System Center Operations Manager 2007, puede recibir 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 opción de la herramienta .NET Framework /i instalador (Installutil.exe) para reinstalar 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 siguientes comandos y, a continuación, 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.