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:
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 enDriveLetter:\i386\perfh009.da_
. Reemplace los archivos que se encuentran en la%Systemroot%\System32
carpeta.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
En el Registro, cambie el valor de Last Counter a 1846 (decimal) y cambie el valor de Last Help a 1847 (decimal).
Busque la siguiente clave del Registro para buscar servicios que tengan una subclave Rendimiento:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
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:
Abra una ventana del símbolo del sistema.
En el símbolo del sistema, escriba
cd %Systemroot%\System32
y, a continuación, presione ENTRAR.En el símbolo del sistema, escriba
findstr drivername *.ini
y, a continuación, presione ENTRAR.Tenga en cuenta el nombre del .ini para cada nombre de controlador de la lista.
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, escribalodctr axperf.ini
en el símbolo del sistema y, a continuación, presione ENTRAR.Repita el paso 5 para cada .ini archivo de la lista.
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.