Återskapa biblioteksvärden för prestandaräknare manuellt

Den här artikeln beskriver hur du återskapar biblioteksvärdena för prestandaräknare manuellt.

Gäller för: Windows 10 – alla utgåvor, Windows Server 2012 R2
Ursprungligt KB-nummer: 300956

Viktigt

Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Det kan uppstå allvarliga problem om du gör detta felaktigt. Följ därför instruktionerna noga, och säkerhetskopiera registret innan du gör några ändringar i det. Då kan du återställa registret om det uppstår problem. Mer information om hur du säkerhetskopierar och återställer registret finns i Hur du säkerhetskopierar och återställer registret i Windows.

När du använder verktyget System Monitor kanske vissa räknare saknas eller inte innehåller räknardata. Basuppsättningen med bibliotek för prestandaräknare kan skadas och kan behöva återskapas. Dessutom kan du behöva återskapa eventuella anpassade räknare (microsoft .NET Framework skapade programmet) eller eventuella utökningsbara räknare.

Det här beteendet kan inträffa i följande situationer:

  • vissa utökningsbara räknare skadar registret.
  • vissa WMI-baserade program (Windows Management Instrumentation) ändrar registret.

Återskapa de grundläggande prestandaräknarna

Utökningsbar räknarinformation lagras på båda följande platser:

  • Registerundernyckeln: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009.

  • Filen %Systemroot%\System32\Perfc009.dat och %Systemroot%\System32\Perfh009.dat filen.

Följ dessa steg om du vill återskapa biblioteken för basprestandaräknare manuellt:

  1. Expandera Perfc009.dat-filen och Perfh009.dat-filen . Dessa filer finns på Installationsskivan för Windows. De komprimerade filerna finns på DriveLetter:\i386\perfc009.da_ och på DriveLetter:\i386\perfh009.da_. Ersätt de filer som finns i %Systemroot%\System32 mappen.

  2. Starta Registry Editor och leta sedan upp följande nyckel i registret:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

  3. I registret ändrar du värdet för Last Counter till 1846 (decimal) och ändrar värdet för Senaste hjälp till 1847 (decimal).

  4. Leta upp följande registernyckel för att söka efter tjänster som har en undernyckel för prestanda :
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

  5. Ta bort följande värden från undernyckeln Prestanda (om de finns):

    • Första räknaren
    • Första hjälpen
    • Sista räknaren
    • Senaste hjälpen

    Du kan också använda verktyget Exctrlst.exe för att hitta de DLL-filer (dynamic-link library) för prestandaräknare som är installerade. Gå sedan till registret för att ta bort DWORD-värdena. Nu har du ett fungerande prestandaregister som endast innehåller systembasräknare.

    Obs!

    Om du tar bort värdena från undernyckeln Prestanda i registret kan det leda till att alla installerade .NET Framework program inte fungerar nästa gång de startas. Om detta inträffar använder du lodctr /R kommandot i avsnittet Lägg till utökningsbara räknare igen för att återskapa prestandaräknarna. Om du fortfarande har problem när du startar ett .NET Framework program kan du läsa avsnittet Installera om anpassade .NET Framework sammansättningsprestandaräknare i den här artikeln.

Lägg till utökningsbara räknare igen

Du måste lägga till utökningsbara räknare igen från listan över tjänster. Innan du gör det måste du identifiera den .ini fil som används för att läsa in räknarna:

  1. Öppna ett kommandotolksfönster.

  2. I kommandotolken skriver du cd %Systemroot%\System32och trycker sedan på RETUR.

  3. I kommandotolken skriver du findstr drivername *.inioch trycker sedan på RETUR.

  4. Anteckna namnet på den .ini filen för varje drivrutinsnamn i listan.

  5. Skriv kommandot i lodctr <inifile> kommandotolken och tryck sedan på RETUR.

    Obs!

    I det här kommandot <representerar inifile> namnet på den .ini filen för drivrutinen som du vill läsa in igen.

    Om du till exempel vill läsa in ASP-drivrutinen igen visar listan som du antecknade i steg 4 att Axperf.ini är den .ini filen för ASP-drivrutinen (axperf.ini:drivername=ASP). Om du vill läsa in ASP-drivrutinen igen skriver du lodctr axperf.ini i kommandotolken och trycker sedan på RETUR.

  6. Upprepa steg 5 för varje .ini fil i listan.

  7. Starta om datorn.

Om du vill återskapa alla prestandaräknare, inklusive utökningsbara räknare och räknare från tredje part i Windows Server, skriver du följande kommandon i en kommandotolk. Tryck på RETUR efter varje kommando.

cd \windows\system32
lodctr /R

Obs!

  • /R är versaler. Du måste ha administratörsbehörighet på datorn för att kunna utföra det här kommandot.
  • På en dator som kör en 32-bitarsversion av Windows Lodctr /R:<filename> är kommandot standardmetoden för att återställa registersträngar och information för prestandaräknare med hjälp av ett filnamn.

Windows Server återskapar alla räknare eftersom den läser alla .ini filer i C:\Windows\inf\009 mappen för det engelska operativsystemet.

Obs!

  • Om du kör en kluster- eller datacenterprodukt måste du redundansväxla noden för att uppdatera räknarlistan. Du måste göra detta när du har utför stegen under Lägg till utökningsbara räknare för både basräknare och utökningsbara räknare.
  • På system som kör program som lägger till sina egna prestandaräknare, till exempel Exchange eller SQL Server, kanske den .ini fil som används för att läsa in prestandaräknaren inte finns i %Systemroot%\System32. Dessa .ini filer finns vanligtvis under programmappstrukturen.
  • Om du får ett felmeddelande om prestandabiblioteket när du använder föregående steg kan du behöva ta bort och läsa in IIS-biblioteken för dynamisk länk för prestanda igen.
  • Om du fortsätter att uppleva problem när du startar ett .NET Framework program kan du läsa avsnittet Installera om anpassade .NET Framework sammansättningsprestandaräknare.

Installera om prestandaräknare för anpassade .NET Framework sammansättning

Om du fortfarande har problem när du startar ett .NET Framework program när du har gjort de procedurer som anges här kan du behöva återskapa prestandaräknarna för det anpassade .NET Framework programmet. Det gör du genom att /i använda alternativet i .NET Framework Installer Tool (Installutil.exe). Du måste känna till filnamnen för de DLL-filer som skapar prestandaräknarna.

Om du följer dessa procedurer och tar bort räknarna från registret för alla tjänster som är installerade på ett system som har Microsoft System Center Operations Manager 2007 installerat kan du ha en bruten hanteringsserver. Räknarna för modulerna Config Service, SDK Service och Database Write tillhandahålls inte i form av utökningsbara räknare i INI-filer. I stället registreras de vid tidpunkten för installationen. När du försöker starta System Center Operations Manager 2007 kan du få ett felmeddelande som liknar följande exempel eftersom prestandaräknarna saknas:

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.

För att lösa det här problemet i System Center Operations Manager 2007 måste du installera om .NET Framework sammansättningar som skapade prestandaräknarna. Det gör du genom att använda /i alternativet i .NET Framework Installer Tool (Installutil.exe) för att installera om följande sammansättningar:

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

I kommandotolken skriver du till exempel följande kommandon och trycker sedan på RETUR efter varje kommando:

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

Obs!

Du måste ha administratörsbehörighet på datorn för att kunna utföra dessa kommandon.