Ricompilare manualmente i contatori delle prestazioni per sistemi Windows Server 2008 a 64 bit o Windows Server 2008 R2

Questo articolo consente di risolvere un problema a causa del quale alcune librerie dei contatori delle prestazioni vengono danneggiate e devono essere ricompilate.

Numero KB originale: 2554336

Sintomi

Quando si usa lo strumento Monitor prestazioni, alcuni contatori potrebbero essere mancanti o non contengono dati del contatore. Le librerie dei contatori delle prestazioni possono essere danneggiate e devono essere ricompilate.

Nel log applicazioni potrebbero essere visualizzati gli errori seguenti:

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

Questo comportamento può verificarsi se alcuni contatori estendibili danneggiano il Registro di sistema o se i programmi basati su Strumentazione gestione Windows (WMI) modificano il Registro di sistema.

Risoluzione

Per risolvere questo problema, usare i metodi seguenti.

Assicurarsi che i contatori non siano disabilitati nel Registro di sistema

I contatori possono essere disabilitati tramite le impostazioni del Registro di sistema. Controllare i percorsi del Registro di sistema seguenti per assicurarsi che i contatori non siano stati disabilitati:

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

Note

%servicename% rappresenta qualsiasi servizio con un contatore delle prestazioni. Ad esempio: PerfDisk, PerfOS e così via.

Potrebbero essere presenti chiavi del Registro di sistema per DisablePerformanceCounters in una di queste posizioni. Come indicato nell'articolo Disabilitare i contatori delle prestazioni, questo valore deve essere impostato su 0. Se il valore è diverso da 0, il contatore può essere disabilitato.

  • Il valore 1 indica che il contatore è disabilitato.
  • Il valore 2 indica che il contatore a 32 bit è disabilitato.
  • Il valore 4 indica che il contatore a 64 bit è disabilitato.

Ricompilare tutti i contatori delle prestazioni, inclusi i contatori estendibili e di terze parti

Per ricompilare tutti i contatori delle prestazioni, inclusi i contatori estendibili e di terze parti, digitare i comandi seguenti in un prompt dei comandi amministrativo. Premere INVIO dopo ogni comando.

  1. Ricompilare i contatori:

    cd c:\windows\system32
    lodctr /R
    cd c:\windows\sysWOW64
    lodctr /R
    
  2. Risincronizzare i contatori con Strumentazione gestione Windows (WMI):

    WINMGMT.EXE /RESYNCPERF
    
  3. Arrestare e riavviare il servizio Log prestazioni e avvisi.

    Get-Service -Name "pla" | Restart-Service -Verbose
    
  4. Arrestare e riavviare il servizio Strumentazione gestione Windows.

    Get-Service -Name "winmgmt" | Restart-Service -Force -Verbose
    
  5. Creare un nuovo set di agenti di raccolta dati (non usare un set di agenti di raccolta dati esistente).

In alcuni casi, l'esecuzione lodctr /R potrebbe non recuperare tutti i contatori. Se si nota questo problema, verificare che il file c:\windows\system32\PerfStringBackup.INI contenga le informazioni appropriate. È possibile copiare questo file da un computer identico per ripristinare i contatori. Potrebbero esserci lievi differenze in questo file dal computer al computer. Tuttavia, se si nota una differenza drastica nelle dimensioni, potrebbero mancare informazioni. Creare sempre una copia di backup prima di sostituire. Non c'è garanzia che la copia di questo file da un altro computer ripristinerà tutti i contatori. Se possibile, confrontare il file con i backup del computer per verificare se le dimensioni del file sono ridotte in un determinato momento.

Per molti contatori, il percorso dei file ini per installare i contatori delle prestazioni è windows\winsxsin , ad esempio i file ini per IIS.

Se vengono visualizzati gli errori seguenti:

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.

Sarà necessario usare i file ini del contatore nella directory c:\Windows\winsxs.

Potrebbero esistere più cartelle per i contatori che è necessario ripristinare. In questi casi, potrebbe essere necessario usare la versione di valutazione e l'errore per trovare i file ini corretti.

ad esempio:

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

In questo esempio provare a installare il infoctrs.ini da ogni cartella usando:

Lodtr infoctrs.ini

Al termine, nel log applicazioni verrà visualizzata la voce seguente:

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.

È necessario eseguire la stessa operazione per i contatori seguenti:

amd64_microsoft-windows-iis-w3svc*

lodctr w3ctrs.ini

Dopo di che verrà visualizzato:

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.

Seguendo questa procedura, eseguire WINMGMT /RESYNCPERFdi nuovo .

Ulteriori informazioni

È disponibile un hotfix per i problemi noti relativi a PerfDisk.dll nei sistemi Windows Server 2008 e Vista. Questo hotfix è stato eseguito in Service Pack 2 per questi sistemi operativi. Se si è in Service Pack 1 o versione successiva, applicare l'hotfix 961382.

Riferimenti