Come ricreare manualmente i valori della libreria dei contatori di prestazioni

Riepilogo

In questo articolo viene descritto come ricreare manualmente i valori di libreria dei contatori di prestazioni.

Ulteriori informazioni

Importante Questa sezione, metodo o attività contiene passaggi su come modificare il Registro di sistema. Tuttavia, una modifica errata del registro di sistema potrebbe causare gravi problemi. Pertanto, assicurarsi di seguire attentamente i passaggi. Per maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Cosicché sia possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e ripristinare il Registro di sistema, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
322756 come eseguire il backup e ripristinare il Registro di sistema Windows
Quando si utilizza lo strumento Monitor di sistema, alcuni contatori potrebbero essere mancante o non contengono dati del contatore. Il set di base delle librerie dei contatori di prestazioni potrebbe essere danneggiato e debba essere ricompilato. Inoltre, potrebbe essere necessario ricompilare qualsiasi contatori, applicazione.NET Framework creato, personalizzati o eventuali contatori estensibili.

Questo comportamento può verificarsi se determinati contatori estensibili danneggiano il Registro di sistema o se alcuni programmi Strumentazione gestione Windows WMI per modificare il Registro di sistema.

Ricostruire i contatori delle prestazioni di base

Le informazioni dei contatori flessibili sono memorizzate in entrambi i percorsi seguenti:
  • La seguente sottochiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\009
  • Il file %Systemroot%\System32\Perfc009.dat e il file %Systemroot%\System32\Perfh009.dat
Per ricreare manualmente le librerie dei contatori di prestazioni di base, attenersi alla seguente procedura:
  1. Espandere il file Perfc009 e
    Perfh009. Questi file si trovano sul disco di installazione di Windows. I file compressi si trovano in LetteraUnità: \i386\perfc009.da_ e LetteraUnità: \i386\perfh009.da_. Sostituire i file presenti nella cartella %Systemroot%\System32.
  2. Avviare l'Editor del Registro di sistema e quindi individuare la seguente chiave del Registro di sistema:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib
  3. Nel Registro di sistema, modificare il valore di Last Counterin 1846 (decimale) e modificare il valore All'ultima guida in 1847 (decimale).
  4. Individuare la seguente chiave del Registro di sistema per cercare i servizi che dispongono di un Performancesubkey:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
  5. Rimuovere i seguenti valori dalla sottochiave Performance (se presenti):
    • Primo contatore
    • Primo argomento della Guida
    • Ultimo contatore
    • Ultima Guida in linea
    Si può inoltre utilizzare lo strumento Exctrlst.exe per individuare i file libreria a collegamento dinamico (DLL) dei contatori prestazioni vengono installati e quindi accedere al Registro di sistema per rimuovere i valori DWORD. È ora disponibile un registro delle prestazioni che contiene solo i contatori di base del sistema.

    Nota: Rimuovere i valori dalla sottochiave prestazioni nel Registro di sistema può causare le applicazioni.NET Framework installate non funziona più la prossima volta che vengono avviati. In questo caso, utilizzare il lodctr /R comando nella sezione "Aggiungere nuovamente i contatori estensibili" per ricostruire i contatori delle prestazioni. Se continui ad avere problemi quando si avvia un'applicazione.NET Framework, vedere la sezione "Reinstallare eventuali contatori delle prestazioni di assembly di.NET Framework personalizzati" in questo articolo.

Aggiungere nuovamente i contatori estensibili

È necessario aggiungere nuovamente i contatori estensibili dall'elenco dei servizi. Prima di procedere, è necessario identificare il file ini utilizzato per caricare i contatori:
  1. Aprire una finestra del prompt dei comandi.
  2. Al prompt dei comandi, digitare cd %Systemroot%\System32e quindi premere INVIO.
  3. Al prompt dei comandi, digitare findstr drivername *. inie quindi premere INVIO.
  4. Prendere nota del nome del file ini per ciascun nome di driver nell'elenco.
  5. Al prompt dei comandi, digitare il comando seguente e quindi premere INVIO:
    lodctr <inifile>
    Nota: In questo comando < inifile > rappresenta il nome del file ini del driver che si desidera ricaricare.
    Ad esempio, se si desidera ricaricare il driver ASP, l'elenco che si è preso nota al passaggio 4 mostra che axperf. ini è il file ini per il driver ASP (accanto). Per ricaricare il driver ASP, al prompt dei comandi, digitare lodctr axperf. ini e quindi premere INVIO.
  6. Ripetere il passaggio 5 per ciascun file ini nell'elenco.
  7. Riavviare il computer.
Per ricostruire tutti i contatori di prestazioni inclusi contatori estensibili e di terze parti in Windows Server 2003, digitare i seguenti comandi al prompt. Premere INVIO dopo ciascun comando.
cd\windows\system32
Lodctr /R
Note
  • /R è maiuscola. È necessario disporre dei diritti amministrativi sul computer per eseguire correttamente questo comando.
  • In un computer che esegue un'edizione a 32 bit di Windows XP, il comando Lodctr /r di: <nomefile> è il metodo standard per ripristinare le stringhe del registro contatore di prestazioni e le informazioni utilizzando un nome di file.
Windows Server 2003 ricrea tutti i contatori perché legge tutti i file ini nella cartella C:\Windows\inf\009 per il sistema operativo in lingua inglese.


Note
  • Se si esegue un prodotto Cluster o Datacenter, sarà necessario eseguire il failover del nodo per aggiornare l'elenco dei contatori. È necessario eseguire questa operazione dopo aver eseguito la procedura descritta in "aggiungere nuovamente i contatori estensibili" per i contatori di base ed estensibile.
  • Nei sistemi che eseguono applicazioni che aggiungono i propri contatori delle prestazioni, ad esempio Microsoft Exchange o SQL Server, il file ini che viene utilizzato per caricare il contatore delle prestazioni potrebbe non essere in % Systemroot%\System32. Questi file. ini si trova generalmente in una struttura di cartelle delle applicazioni.
  • Se viene visualizzato un messaggio di errore sulla libreria di prestazioni quando si utilizza la procedura precedente, potrebbe essere necessario scaricare e ricaricare le librerie di collegamento dinamico di prestazioni di IIS (DLL).
    Per ulteriori informazioni su come effettuare questa operazione, fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

    267831 evento ID 2003 messaggi di avviso durante il caricamento dei contatori delle prestazioni

  • Se si continua a verificarsi problemi quando si avvia un'applicazione.NET Framework, vedere la sezione "Reinstallare eventuali contatori delle prestazioni di assembly di.NET Framework personalizzati".

Reinstallare i contatori delle prestazioni assembly.NET Framework personalizzati

Se continui ad avere problemi quando si avvia un'applicazione.NET Framework dopo aver eseguito le procedure elencate di seguito, potrebbe essere necessario ricostruire i contatori delle prestazioni per l'applicazione personalizzata.NET Framework. A tale scopo, utilizzare il "/ è" opzione nello strumento programma di installazione di.NET Framework (Installutil.exe). È necessario conoscere i nomi di file DLL che creano i contatori delle prestazioni.

Esempio

Se si seguono queste procedure e rimuovere i contatori dal Registro di sistema per tutti i servizi installati in un sistema che dispone di Microsoft System Center Operations Manager 2007, potrebbe essere un Server di gestione interrotti. Questo avviene perché i contatori per i moduli di configurazione Service, servizio SDK e di scrittura Database non vengono forniti sotto forma di contatori estensibili in file INI. Al contrario, vengono registrate al momento dell'installazione. Quando si tenta di avviare System Center Operations Manager 2007, pertanto, che venga visualizzato un messaggio di errore analogo al seguente perché mancano i contatori delle prestazioni:

Tipo di evento: errore

Origine evento: Servizio di SDK di OpsMgr

Categoria evento: nessuno

ID evento: 26380

Data: Data
Ora: ora
Utente: n/d

Computer: MOM

Descrizione: Il servizio di sistema Center Operations Manager SDK non riuscita a causa di un'eccezione non gestita.

Per risolvere questo problema in System Center Operations Manager 2007, è necessario reinstallare gli assembly di.NET Framework che ha creato i contatori delle prestazioni. A tale scopo, utilizzare l'opzione /i nello strumento programma di installazione di.NET Framework (Installutil.exe) per reinstallare i seguenti assembly:
  • Microsoft.Mom.ConfigService.dll
  • Microsoft.Mom.Sdk.ServiceDataLayer.dll
  • Microsoft.Mom.DatabaseWriteModules.dll
  • Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll
Ad esempio, al prompt dei comandi, digitare i seguenti comandi e quindi premere INVIO dopo ciascun 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: È necessario disporre dei diritti amministrativi sul computer per eseguire questi comandi.
Proprietà

ID articolo: 300956 - Ultima revisione: 30 gen 2017 - Revisione: 1

Feedback