Problémy řešení sledování a protokolování čítačů výkonu rozhraní.NET Framework 2.0

Souhrn

Tento článek popisuje způsob použití běžných čítačů výkonu modulu runtime (CLR) jazyk a jak řešit známé problémy, ke kterým dochází při použití čítačů výkonu v Microsoft rozhraní.NET Framework 2.0. Pokud chcete sledovat čítače výkonu ve vzdáleném počítači, musíte být správcem vzdáleného počítače. Pokud vzdálený počítač se systémem Microsoft Windows Server 2003, musíte být ve skupině výkonu protokolu uživatele (Vlastnosti) nebo ve skupině výkonu sledování uživatelů (PMU). Pokud chcete protokolovat čítače výkonu CLR, konfigurace spustit jako uživatel, který má oprávnění správce. Tento článek popisuje problémy, které se vztahují k monitorování nebo protokolování čítače výkonu CLR ve vzdálených počítačích.

ÚVOD

Modul CLR poskytuje spravovaný kód s následující služby:
  • Integrace mezi jazyky
  • Zabezpečení přístupu ke kódu
  • Správa životnosti objektu
  • Správa prostředků
  • Bezpečnost typů
  • Přednostními zřetězení
  • Metadata služby (reflexe)
  • Ladění a profilování podporu


CLR obsahuje čítače výkonu, které lze použít ke sledování funkce aplikace. Chcete-li vytvořit vlastní čítače výkonu můžete použít nástroj Sledování výkonu (Perfmon). Kontrolou hodnoty, které vrátí čítače výkonu můžete sledovat výkon systému.

Další informace

Následujících známých problémů může dojít při použití čítačů výkonu CLR rozhraní.NET Framework 2.0.

Nelze vzdáleně sledovat čítače výkonu CLR

Při pokusu sledovat čítače výkonu CLR ve vzdáleném počítači v Perfmon, zobrazí se chybová zpráva podobná následující:
Nelze se připojit k počítači
Chcete-li tento problém vyřešit, použijte jednu z následujících metod.

Metoda 1: Ověřte, že je služba Vzdálený registr spuštěna ve vzdáleném počítači

Když nastane tento problém, ověřte, že je ve vzdáleném počítači spuštěna služba Vzdálený registr. Chcete-li to provést, postupujte takto:
  1. Klepněte na tlačítko Start, na příkaz Spustit, zadejte příkaz cmd a klepněte na tlačítko OK.
  2. Na příkazovém řádku zadejte tasklist -svca stiskněte klávesu ENTER.

    Ověřte RemoteRegistry hostitelský proces Svchost.exe se systémem který má ve sloupci služby . Pokud služba není spuštěna, přejděte ke kroku 3.
  3. Na příkazovém řádku zadejte net start RemoteRegistrya stiskněte klávesu ENTER.

Metoda 2: Ověřte, zda máte požadovaná oprávnění

Pokud chcete sledovat čítače výkonu CLR ve vzdáleném počítači, musí být splněny následující podmínky:
  • Musíte být členem skupiny Administrators ve vzdáleném počítači.
  • Pokud vzdálený počítač se systémem Windows Server 2003, musíte být členem skupiny Performance Monitor Users sledovat čítače výkonu.
  • Pokud vzdálený počítač se systémem Windows Server 2003, musíte být členem skupiny Performance Log Users protokolovat čítače výkonu. Navíc musíte použít příkaz Spustit jako konfigurace protokolování procesu spuštění podle skupiny Administrators nebo skupiny Performance Log Users.

Přestože můžete připojit ke vzdálenému počítači nelze zobrazit čítače výkonu CLR

Pokud vzdálené počítače se systémem Windows Server 2003 běží Microsoft rozhraní.NET Framework 1.1 Service Pack 1 (SP1), opravy hotfix, která je popsána v následujícím článku znalostní báze Microsoft Knowledge Base:
924421 oprava: deteriorates výkon aplikace nebo počítač přestane reagovat při spuštění aplikace založené na rozhraní.NET Framework 1.1 Service Pack 1 v počítači se systémem Windows 2003

Při pokusu o spuštění protokolování čítače výkonu CLR se zobrazí chybová zpráva "ACCESS_DENIED"

Při pokusu o spuštění protokolování čítače výkonu CLR, může se zobrazit chybová zpráva podobná následující:
Kód chyby 5 (ACCESS_DENIED)

Nelze otevřít klíč registru databázi verze překrytí - v2.0.50727.00000. Procedura Open služby ". NETFramework"v DLL"D:\WINNT\system32\mscoree.dll"se nezdařilo. Data o výkonu této služby nebude k dispozici. Vrácený stavový kód je v první hodnotě DWORD přiložených dat. Kód stavu je 5 (ACCESS_DENIED)
K tomuto problému dochází, protože první proces načíst čítače výkonu CLR DLL (Corperfmonext.dll) vytvoří pojmenované události pro komunikaci mezi procesu komunikace (IPC). Je vytvořen pojmenované události, který používá oprávnění pro uživatele ID procesu.

Například uživatel, který má oprávnění správce spustí Perfmon. Uživatel potom začne sledovat čítače výkonu CLR. Pojmenované události, je vytvořen pomocí oprávnění udělená skupině správce. V tomto scénáři uživatel obdrží chybovou zprávu, pokud se uživatel pokusí spustit protokolování čítače výkonu CLR. K tomuto problému dochází, protože služba "A výstrahy a protokolování výkonu" nelze získat přístup k pojmenované události.

Chcete-li tento problém vyřešit, nejprve načtěte souboru Corperfmonext.dll ve službě "A výstrahy a protokolování výkonu". Chcete-li to provést, postupujte takto:
  1. Klepněte na tlačítko Start, na příkaz Spustit, zadejte příkaz cmd a klepněte na tlačítko OK.
  2. Na příkazovém řádku zadejte tasklist corperfmonext.dll -ma potom stiskněte klávesu ENTER. Poznámka: každý proces, který je uveden.
  3. Na příkazovém řádku zadejte taskmgra stiskněte klávesu ENTER.
  4. Na kartě procesy klepněte na tlačítko každého procesu, který jste si poznamenali v kroku 2 a potom klepněte na tlačítko Ukončit proces.
  5. Klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte příkaz Perfmona potom klepněte na tlačítko OK.
  6. Rozbalte Výstrahy a protokolování výkonua poté vyberte položku Protokoly čítačů.
  7. Klepněte pravým tlačítkem myši službu, kterou chcete použít a potom klepněte na tlačítko Start.
Poznámka: Tento problém je naplánováno opraven v budoucí verzi rozhraní.NET Framework.

Nelze sledovat 32bitové programy spravované v 64bitové verzi Perfmon

K tomuto problému dochází, protože 64bitové verze souboru Corperfmonext.dll pouze výčet 64bitové procesy. 32bitová verze souboru Corperfmonext.dll navíc výčet pouze 32bitových procesů. Chcete-li zobrazit spravované 32bitové programy v počítači 64-bit, klepněte na tlačítko Start, klepněte na příkaz Spustit, zadejte SystemRoot%\SysWOW64\perfmon.exea klepněte na tlačítko OK.

Poznámka: Tento problém je naplánováno opraven v budoucí verzi rozhraní.NET Framework.

Po restartování spravované program ve vzdáleném počítači nerozpozná Perfmon

K tomuto problému dochází, protože služba Vzdálený registr spuštěna pod účtem místní služby. Místní účet služby není členem skupiny Performance Monitor Users nebo skupiny Performance Log Users . Proto místní účet služby nemá přístup k bloku IPC čítače výkonu CLR. Vzhledem k tomu, že služba Vzdálený registr zosobňuje uživatele, který inicioval sledování však můžete sledovat čítače výkonu CLR.

Pokud je sledovaný proces restartuje, nový blok IPC otevřen pomocí zřetězení pomocná služba Vzdálený registr. Tento podproces pomocného nelze zosobnit uživatele na straně klienta. Vlákno, proto nemá přístup k bloku IPC čítače výkonu CLR. Chcete-li tento problém vyřešit, restartujte čítače sledování výkonu z klienta.

Více čítačů výkonu CLR se zobrazí, které mají názvy podobné "W3wp #1"

Když běží více procesy ASP.NET pracovníků, CLR čítače výkonu, které mají názvy podobné "W3wp #1" nebo "W3sp #2" se může zobrazit. Rozhraní.NET Framework 2.0 byla přidána paměť .NET CLR objekt výkonu čítač, který je s názvem ID procesu . Tento čítač zobrazuje ID procesu instance. Tento čítač lze určit čítače výkonu CLR, který je přidružen k procesu.

Pokud není zobrazen čítač, který je s názvem ID procesu v seznamu Paměť .NET CLR, symboly čítače výkonu není správně nainstalována. Chcete-li tento problém vyřešit, postupujte takto:
  1. Klepněte na tlačítko Start, na příkaz Spustit, zadejte příkaz cmd a klepněte na tlačítko OK.
  2. Na příkazovém řádku zadejte unlodctr. NetFramework, a stiskněte klávesu ENTER.
  3. Pomocí příkazu cd přejděte do složky \Microsoft.Net\Framework\v2.0.50727.
  4. Na příkazovém řádku zadejte lodctr corperfmonsymbols.inia stiskněte klávesu ENTER.
Vlastnosti

ID článku: 922775 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor