Reconstruire manuellement les valeurs de la bibliothèque de compteurs de performances

Cet article explique comment reconstruire manuellement les valeurs de la bibliothèque de compteurs de performances.

Applicabilité : Windows 10 - toutes les éditions, Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 300956

Importante

Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent se produire si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le registre avant de le modifier. Vous pouvez alors le restaurer en cas de problème. Pour plus d’informations sur la procédure de sauvegarde et de restauration du Registre, consultez l’article Comment sauvegarder et restaurer le Registre dans Windows.

Lorsque vous utilisez l’outil Moniteur système, certains compteurs peuvent être manquants ou ne contiennent pas de données de compteur. L’ensemble de base des bibliothèques de compteurs de performances peut être endommagé et avoir besoin d’être reconstruit. En outre, vous devrez peut-être recréer des compteurs personnalisés (application Microsoft .NET Framework créée) ou des compteurs extensibles.

Ce comportement peut se produire dans les situations suivantes :

  • certains compteurs extensibles endommagent le Registre.
  • certains programmes WMI (Windows Management Instrumentation) modifient le Registre.

Reconstruire les compteurs de performances de base

Les informations de compteur extensible sont stockées dans les deux emplacements suivants :

  • Sous-clé de Registre : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009.

  • Fichier %Systemroot%\System32\Perfc009.dat et fichier %Systemroot%\System32\Perfh009.dat .

Pour reconstruire manuellement les bibliothèques de compteurs de performances de base, procédez comme suit :

  1. Développez le fichier Perfc009.dat et le fichier Perfh009.dat . Ces fichiers se trouvent sur le disque d’installation de Windows. Les fichiers compressés se trouvent à l’adresse DriveLetter:\i386\perfc009.da_ et à l’adresse DriveLetter:\i386\perfh009.da_. Remplacez les fichiers qui se trouvent dans le %Systemroot%\System32 dossier .

  2. Démarrez l’Rédacteur du Registre, puis recherchez la clé suivante dans le Registre :
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

  3. Dans le Registre, remplacez la valeur du dernier compteur par 1846 (décimal) et remplacez la valeur De la dernière aide par 1847 (décimal).

  4. Recherchez la clé de Registre suivante pour rechercher les services qui ont une sous-clé Performance :
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

  5. Supprimez les valeurs suivantes de la sous-clé Performance (si elles existent) :

    • Premier compteur
    • Première aide
    • Dernier compteur
    • Dernière aide

    Vous pouvez également utiliser l’outil Exctrlst.exe pour localiser les fichiers de bibliothèque de liens dynamiques (DLL) du compteur de performances installés. Accédez ensuite au Registre pour supprimer les valeurs DWORD. Vous disposez maintenant d’un registre de performances utilisable qui contient uniquement des compteurs de base système.

    Remarque

    La suppression des valeurs de la sous-clé Performance dans le Registre peut entraîner le non-fonctionnement des applications .NET Framework installées la prochaine fois qu’elles sont démarrées. Si cela se produit, utilisez la lodctr /R commande de la section Rajouter les compteurs extensibles pour reconstruire les compteurs de performances. Si vous continuez à avoir des problèmes lorsque vous démarrez une application .NET Framework, consultez la section Réinstaller les compteurs de performances d’assembly .NET Framework personnalisés dans cet article.

Rajoutez les compteurs extensibles

Vous devez ajouter à nouveau les compteurs extensibles à partir de la liste des services. Avant de le faire, vous devez identifier le fichier .ini utilisé pour charger les compteurs :

  1. Ouvrez une fenêtre d'invite de commandes.

  2. À l’invite de commandes, tapez cd %Systemroot%\System32, puis appuyez sur Entrée.

  3. À l’invite de commandes, tapez findstr drivername *.ini, puis appuyez sur Entrée.

  4. Notez le nom du fichier .ini pour chaque nom de pilote dans la liste.

  5. À l’invite de commandes, tapez la lodctr <inifile> commande, puis appuyez sur Entrée.

    Remarque

    Dans cette commande, <inifile> représente le nom du fichier .ini du pilote que vous souhaitez recharger.

    Par exemple, si vous souhaitez recharger le pilote ASP, la liste que vous avez notée à l’étape 4 indique que Axperf.ini est le fichier .ini pour le pilote ASP (axperf.ini:drivername=ASP). Pour recharger le pilote ASP, tapez lodctr axperf.ini à l’invite de commandes, puis appuyez sur Entrée.

  6. Répétez l’étape 5 pour chaque fichier .ini dans la liste.

  7. Restart your computer.

Pour reconstruire tous les compteurs de performances, y compris les compteurs extensibles et tiers dans Windows Server, tapez les commandes suivantes à l’invite de commandes. Appuyez sur Entrée après chaque commande.

cd \windows\system32
lodctr /R

Remarque

  • /R est en majuscules. Vous devez disposer de droits d’administration sur l’ordinateur pour exécuter correctement cette commande.
  • Sur un ordinateur qui exécute une édition 32 bits de Windows, la commande est la Lodctr /R:<filename> méthode standard pour restaurer les chaînes et les informations du registre du compteur de performances à l’aide d’un nom de fichier.

Windows Server reconstruit tous les compteurs, car il lit tous les fichiers .ini dans le C:\Windows\inf\009 dossier du système d’exploitation anglais.

Remarque

  • Si vous exécutez un produit de cluster ou de centre de données, vous devez basculer le nœud pour actualiser la liste de compteurs. Vous devez effectuer cette opération après avoir effectué les étapes sous Rajouter les compteurs extensibles pour les compteurs de base et les compteurs extensibles.
  • Sur les systèmes qui exécutent des applications qui ajoutent leurs propres compteurs de performances, tels qu’Exchange ou SQL Server, le fichier .ini utilisé pour charger le compteur de performances peut ne pas se trouver dans %Systemroot%\System32. Ces fichiers .ini se trouvent généralement sous la structure de dossiers des applications.
  • Si vous recevez un message d’erreur concernant la bibliothèque de performances lorsque vous utilisez les étapes précédentes, vous devrez peut-être décharger et recharger les bibliothèques de liens dynamiques (DLL) de performances IIS.
  • Si vous continuez à rencontrer des problèmes lorsque vous démarrez une application .NET Framework, consultez la section Réinstaller les compteurs de performances d’assembly .NET Framework personnalisés .

Réinstaller les compteurs de performances d’assembly .NET Framework personnalisés

Si vous continuez à rencontrer des problèmes lorsque vous démarrez une application .NET Framework après avoir effectué les procédures répertoriées ici, vous devrez peut-être recréer les compteurs de performances pour l’application .NET Framework personnalisée. Pour ce faire, utilisez l’option /i dans l’outil d’installation du .NET Framework (Installutil.exe). Vous devez connaître les noms des fichiers DLL qui créent les compteurs de performances.

Si vous suivez ces procédures et supprimez les compteurs du Registre pour tous les services installés sur un système sur lequel Microsoft System Center Operations Manager 2007 est installé, vous pouvez avoir un serveur d’administration défectueux. Les compteurs du service de configuration, du service SDK et de l’écriture de base de données ne sont pas fournis sous la forme de compteurs extensibles dans les fichiers INI. Au lieu de cela, ils sont enregistrés au moment de l’installation. Par conséquent, lorsque vous essayez de démarrer System Center Operations Manager 2007, vous pouvez recevoir un message d’erreur similaire à l’exemple suivant, car les compteurs de performances sont manquants :

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.

Pour résoudre ce problème dans System Center Operations Manager 2007, vous devez réinstaller les assemblys .NET Framework qui ont créé les compteurs de performances. Pour ce faire, utilisez l’option /i de l’outil .NET Framework Installer Tool (Installutil.exe) pour réinstaller les assemblys suivants :

  • Microsoft.Mom.ConfigService.dll
  • Microsoft.Mom.Sdk.ServiceDataLayer.dll
  • Microsoft.Mom.DatabaseWriteModules.dll
  • Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll

Par exemple, à l’invite de commandes, tapez les commandes suivantes, puis appuyez sur Entrée après chaque commande :

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

Remarque

Vous devez disposer de droits d’administration sur l’ordinateur pour exécuter correctement ces commandes.