Recompilación manual de contadores de rendimiento para sistemas Windows Server 2008 de 64 bits o Windows Server 2008 R2

Este artículo ayuda a resolver un problema en el que algunas bibliotecas de contadores de rendimiento se dañan y necesitan volver a generarse.

Se aplica a: Windows Server 2012 R2
Número de KB original: 2554336

Síntomas

Al usar la herramienta Monitor de rendimiento, es posible que falten algunos contadores o que no contengan datos de contadores. Las bibliotecas de contadores de rendimiento pueden estar dañadas y deben volver a crearse.

Es posible que vea los siguientes errores en el registro de la aplicación:

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.

Causa

Este comportamiento puede producirse si determinados contadores extensibles dañan el Registro o si los programas basados en Instrumental de administración de Windows (WMI) modifican el registro.

Solución

Para resolver este problema, use los métodos siguientes.

Asegúrese de que los contadores no estén deshabilitados en el registro.

Los contadores pueden deshabilitarse a través de la configuración del Registro. Compruebe las siguientes ubicaciones del Registro para asegurarse de que los contadores no se han deshabilitado:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\%servicename%\Performance

Nota:

%servicename% representa cualquier servicio con un contador de rendimiento. Por ejemplo: PerfDisk, PerfOS, etc.

Puede haber claves del Registro para DisablePerformanceCounters en cualquiera de estas ubicaciones. Según el artículo Deshabilitar contadores de rendimiento, este valor debe establecerse en 0. Si el valor es distinto de 0, el contador puede deshabilitarse.

  • Un valor de 1 significa que el contador está deshabilitado.
  • Un valor de 2 significa que el contador de 32 bits está deshabilitado.
  • Un valor de 4 significa que el contador de 64 bits está deshabilitado.

Recompilación de todos los contadores de rendimiento, incluidos los contadores extensibles y de terceros

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

  1. Recompile los contadores:

    cd c:\windows\system32
    lodctr /R
    cd c:\windows\sysWOW64
    lodctr /R
    
  2. Vuelva a sincronizar los contadores con Instrumental de administración de Windows (WMI):

    WINMGMT.EXE /RESYNCPERF
    
  3. Detenga y reinicie el servicio De alertas y registros de rendimiento.

    Get-Service -Name "pla" | Restart-Service -Verbose
    
  4. Detenga y reinicie el servicio Instrumental de administración de Windows.

    Get-Service -Name "winmgmt" | Restart-Service -Force -Verbose
    
  5. Cree un nuevo conjunto de recopilador de datos (no use un conjunto de recopilador de datos existente).

A veces, es posible que la ejecución lodctr /R no recupere todos los contadores. Si observa que esto sucede, compruebe que el archivo c:\windows\system32\PerfStringBackup.INI contiene la información adecuada. Puede copiar este archivo de un equipo idéntico para restaurar los contadores. Puede haber ligeras diferencias en este archivo de máquina a máquina. Pero si observa una diferencia drástica en el tamaño, puede que falte información. Cree siempre una copia de seguridad antes de reemplazarla. No hay ninguna garantía de que la copia de este archivo desde otra máquina restaure todos los contadores. Si es posible, compare el archivo con las copias de seguridad de la máquina para ver si el tamaño del archivo se ha reducido en algún momento del tiempo.

Para muchos contadores, la ubicación de los archivos ini para instalar contadores de rendimiento está en windows\winsxs, como los archivos ini para IIS.

Si ve los siguientes errores:

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.

Tendrá que usar los archivos ini de instalación del contador en el directorio c:\Windows\winsxs.

Pueden existir varias carpetas para los contadores que necesita reparar. En esos casos, es posible que tenga que usar la prueba y el error para encontrar los archivos ini correctos.

Por ejemplo,

Dir C:\Windows\winsxs\amd64_microsoft-windows-iis-metabase*

En este ejemplo, intente instalar el infoctrs.ini desde cada carpeta mediante:

Lodtr infoctrs.ini

Cuando se realice correctamente, verá la siguiente entrada en el registro de la aplicación:

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.

Debe hacer lo mismo para los siguientes contadores:

amd64_microsoft-windows-iis-w3svc*

lodctr w3ctrs.ini

Después, verá lo siguiente:

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.

Siguiendo estos pasos, vuelva a ejecutar WINMGMT /RESYNCPERF.

Más información

Hay una revisión para problemas conocidos con PerfDisk.dll en sistemas Windows Server 2008 y Vista. Esta revisión se ha inscrito en Service Pack 2 para estos sistemas operativos. Si está en Service Pack 1 o versiones posteriores, aplique la revisión 961382.

Referencias