PerformanceCounterCategory.Create Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rejestruje niestandardową kategorię licznika wydajności i co najmniej jeden licznik w systemie.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Create(String, String, String, String) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Rejestruje niestandardową kategorię licznika wydajności zawierającą jeden licznik typu |
| Create(String, String, PerformanceCounterCategoryType, String, String) |
Rejestruje niestandardową kategorię licznika wydajności zawierającą jeden licznik typu NumberOfItems32 na komputerze lokalnym. |
| Create(String, String, CounterCreationDataCollection) |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Rejestruje niestandardową kategorię licznika wydajności zawierającą określone liczniki na komputerze lokalnym. |
| Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) |
Rejestruje niestandardową kategorię licznika wydajności zawierającą określone liczniki na komputerze lokalnym. |
Create(String, String, String, String)
Uwaga
This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.
Uwaga
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. http://go.microsoft.com/fwlink/?linkid=14202
Uwaga
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. https://go.microsoft.com/fwlink/?linkid=14202
Rejestruje niestandardową kategorię licznika wydajności zawierającą jeden licznik typu NumberOfItems32 na komputerze lokalnym.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::String ^ counterName, System::String ^ counterHelp);
[System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, string counterName, string counterHelp);
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, string counterName, string counterHelp);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, string counterName, string counterHelp);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, string counterName, string counterHelp);
[<System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead.")>]
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, string counterName, string counterHelp) instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * string * string -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, counterName As String, counterHelp As String) As PerformanceCounterCategory
Parametry
- categoryName
- String
Nazwa niestandardowej kategorii licznika wydajności do utworzenia i zarejestrowania w systemie.
- categoryHelp
- String
Opis kategorii niestandardowej.
- counterName
- String
Nazwa nowego licznika NumberOfItems32typu , który ma zostać utworzony w ramach nowej kategorii.
- counterHelp
- String
Opis licznika skojarzonego z nową kategorią niestandardową.
Zwraca
Obiekt PerformanceCounterCategory skojarzony z nową kategorią systemową lub obiektem wydajności.
- Atrybuty
Wyjątki
counterName jest null ciągiem pustym ("").
— lub —
Licznik określony przez counterName już istnieje.
— lub —
counterName ma nieprawidłową składnię. Może zawierać znaki ukośnika odwrotnego ("\") lub mieć długość większą niż 80 znaków.
Kategoria już istnieje na komputerze lokalnym.
Parametr categoryName ma wartość null.
— lub —
Parametr counterHelp ma wartość null.
Wywołanie podstawowego interfejsu API systemu nie powiodło się.
Kod wykonywany bez uprawnień administracyjnych próbował odczytać licznik wydajności.
Uwagi
Note
Aby odczytać liczniki wydajności z sesji logowania nieinterakcyjnego w systemie Windows Vista i nowszych, Windows XP Professional x64 Edition lub Windows Server 2003, musisz być członkiem grupy Użytkownicy monitora wydajności lub mieć uprawnienia administracyjne.
Aby uniknąć konieczności podniesienia uprawnień dostępu do liczników wydajności w systemie Windows Vista i nowszych, dodaj się do grupy Użytkownicy monitora wydajności.
W systemie Windows Vista i nowszych kontrola konta użytkownika (UAC) określa uprawnienia użytkownika. Jeśli jesteś członkiem wbudowanej grupy Administratorzy, masz przypisane dwa tokeny dostępu w czasie wykonywania: standardowy token dostępu użytkownika i token dostępu administratora. Domyślnie jesteś w roli użytkownika standardowego. Aby wykonać kod, który uzyskuje dostęp do liczników wydajności, musisz najpierw podnieść poziom uprawnień od użytkownika standardowego do administratora. Możesz to zrobić po uruchomieniu aplikacji, klikając prawym przyciskiem myszy ikonę aplikacji i wskazując, że chcesz uruchomić jako administrator.
Zobacz też
Dotyczy
Create(String, String, PerformanceCounterCategoryType, String, String)
Rejestruje niestandardową kategorię licznika wydajności zawierającą jeden licznik typu NumberOfItems32 na komputerze lokalnym.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::PerformanceCounterCategoryType categoryType, System::String ^ counterName, System::String ^ counterHelp);
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.PerformanceCounterCategoryType categoryType, string counterName, string counterHelp);
static member Create : string * string * System.Diagnostics.PerformanceCounterCategoryType * string * string -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, categoryType As PerformanceCounterCategoryType, counterName As String, counterHelp As String) As PerformanceCounterCategory
Parametry
- categoryName
- String
Nazwa niestandardowej kategorii licznika wydajności do utworzenia i zarejestrowania w systemie.
- categoryHelp
- String
Opis kategorii niestandardowej.
- categoryType
- PerformanceCounterCategoryType
Jedną z wartości określających PerformanceCounterCategoryType , czy kategoria to MultiInstance, SingleInstance, czy Unknown.
- counterName
- String
Nazwa nowego licznika do utworzenia w ramach nowej kategorii.
- counterHelp
- String
Opis licznika skojarzonego z nową kategorią niestandardową.
Zwraca
Obiekt PerformanceCounterCategory skojarzony z nową kategorią systemową lub obiektem wydajności.
Wyjątki
counterName jest null ciągiem pustym ("").
— lub —
Licznik określony przez counterName już istnieje.
— lub —
counterName ma nieprawidłową składnię. Może zawierać znaki ukośnika odwrotnego ("\") lub mieć długość większą niż 80 znaków.
Kategoria już istnieje na komputerze lokalnym.
Parametr categoryName ma wartość null.
— lub —
Parametr counterHelp ma wartość null.
Wywołanie podstawowego interfejsu API systemu nie powiodło się.
Kod wykonywany bez uprawnień administracyjnych próbował odczytać licznik wydajności.
Przykłady
Poniższy przykład kodu przedstawia użycie Create metody . W przykładzie pokazano, jak utworzyć niestandardową kategorię licznika wydajności pojedynczego wystąpienia.
Console.WriteLine("Creating Inventory custom counter");
if (!PerformanceCounterCategory.Exists("Inventory"))
PerformanceCounterCategory.Create("Inventory",
"Truck inventory",
PerformanceCounterCategoryType.SingleInstance,
"Trucks", "Number of trucks on hand");
Console.WriteLine("Creating Inventory custom counter")
If Not PerformanceCounterCategory.Exists("Inventory") Then
PerformanceCounterCategory.Create("Inventory", "Truck inventory", PerformanceCounterCategoryType.SingleInstance, "Trucks", "Number of trucks on hand")
End If
Uwagi
Parametr categoryType określa, czy kategoria licznika wydajności to jedno wystąpienie, czy wiele wystąpień. Domyślnie kategoria jest pojedynczym wystąpieniem podczas tworzenia i staje się wieloma wystąpieniami po dodaniu innego wystąpienia. Kategorie są tworzone podczas konfigurowania aplikacji, a wystąpienia są dodawane w czasie wykonywania. Wyliczenie PerformanceCounterCategoryType służy do wskazywania, czy licznik wydajności może mieć wiele wystąpień.
Kategorie liczników wydajności zainstalowane z .NET używają oddzielnej pamięci udostępnionej, a każda kategoria licznika wydajności ma własną pamięć. Rozmiar oddzielnej pamięci udostępnionej można określić, tworząc DWORD o nazwie FileMappingSize w kluczu rejestru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nazwę> kategorii\Wydajność. Wartość FileMappingSize jest ustawiona na rozmiar pamięci udostępnionej kategorii. Domyślny rozmiar to 131072 dziesiętny. Jeśli wartość FileMappingSize nie jest obecna, fileMappingSize zostanie użyta wartość atrybutu elementu określonego performanceCounters w pliku Machine.config, co powoduje dodatkowe obciążenie związane z przetwarzaniem plików konfiguracji. Możesz zrealizować poprawę wydajności uruchamiania aplikacji, ustawiając rozmiar mapowania plików w rejestrze.
Note
Zdecydowanie zaleca się utworzenie nowych kategorii liczników wydajności podczas instalacji aplikacji, a nie podczas wykonywania aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych kategorii liczników wydajności. Jeśli lista nie została odświeżona, próba użycia kategorii zakończy się niepowodzeniem.
Note
Aby odczytać liczniki wydajności z sesji logowania nieinterakcyjnego w systemie Windows Vista i nowszych, Windows XP Professional x64 Edition lub Windows Server 2003, musisz być członkiem grupy Użytkownicy monitora wydajności lub mieć uprawnienia administracyjne.
Aby uniknąć konieczności podniesienia uprawnień dostępu do liczników wydajności w systemie Windows Vista i nowszych, dodaj się do grupy Użytkownicy monitora wydajności.
W systemie Windows Vista i nowszych kontrola konta użytkownika (UAC) określa uprawnienia użytkownika. Jeśli jesteś członkiem wbudowanej grupy Administratorzy, masz przypisane dwa tokeny dostępu w czasie wykonywania: standardowy token dostępu użytkownika i token dostępu administratora. Domyślnie jesteś w roli użytkownika standardowego. Aby wykonać kod, który uzyskuje dostęp do liczników wydajności, musisz najpierw podnieść poziom uprawnień od użytkownika standardowego do administratora. Możesz to zrobić po uruchomieniu aplikacji, klikając prawym przyciskiem myszy ikonę aplikacji i wskazując, że chcesz uruchomić jako administrator.
Zobacz też
Dotyczy
Create(String, String, CounterCreationDataCollection)
Uwaga
This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.
Uwaga
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Uwaga
This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Rejestruje niestandardową kategorię licznika wydajności zawierającą określone liczniki na komputerze lokalnym.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::CounterCreationDataCollection ^ counterData);
[System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
[System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.CounterCreationDataCollection counterData);
[<System.Obsolete("This overload of PerformanceCounterCategory.Create has been deprecated. Use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead.")>]
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
[<System.Obsolete("This method has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.Create(string categoryName, string categoryHelp, PerformanceCounterCategoryType categoryType, CounterCreationDataCollection counterData) instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
static member Create : string * string * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, counterData As CounterCreationDataCollection) As PerformanceCounterCategory
Parametry
- categoryName
- String
Nazwa niestandardowej kategorii licznika wydajności do utworzenia i zarejestrowania w systemie.
- categoryHelp
- String
Opis kategorii niestandardowej.
- counterData
- CounterCreationDataCollection
Element CounterCreationDataCollection określający liczniki do utworzenia w ramach nowej kategorii.
Zwraca
Obiekt PerformanceCounterCategory skojarzony z nową kategorią niestandardową lub obiektem wydajności.
- Atrybuty
Wyjątki
Nazwa licznika określona w counterData kolekcji to null lub pusty ciąg ("").
— lub —
Licznik określony w counterData kolekcji już istnieje.
Parametr categoryName jest null.
Kategoria już istnieje na komputerze lokalnym.
— lub —
Układ kolekcji counterData jest niepoprawny dla liczników bazowych. Licznik typu AverageCount64, , AverageTimer32CounterMultiTimerCounterMultiTimerInverseCounterMultiTimer100NsCounterMultiTimer100NsInverseRawFractionSampleFractionSampleCounterlub musi być natychmiast obserwowany przez jeden z podstawowych typów liczników (AverageBase, MultiBase, RawBase, lub ).SampleBase
Wywołanie podstawowego interfejsu API systemu nie powiodło się.
Kod wykonywany bez uprawnień administracyjnych próbował odczytać licznik wydajności.
Uwagi
Note
Aby odczytać liczniki wydajności z sesji logowania nieinterakcyjnego w systemie Windows Vista i nowszych, Windows XP Professional x64 Edition lub Windows Server 2003, musisz być członkiem grupy Użytkownicy monitora wydajności lub mieć uprawnienia administracyjne.
Aby uniknąć konieczności podniesienia uprawnień dostępu do liczników wydajności w systemie Windows Vista i nowszych, dodaj się do grupy Użytkownicy monitora wydajności.
W systemie Windows Vista i nowszych kontrola konta użytkownika (UAC) określa uprawnienia użytkownika. Jeśli jesteś członkiem wbudowanej grupy Administratorzy, masz przypisane dwa tokeny dostępu w czasie wykonywania: standardowy token dostępu użytkownika i token dostępu administratora. Domyślnie jesteś w roli użytkownika standardowego. Aby wykonać kod, który uzyskuje dostęp do liczników wydajności, musisz najpierw podnieść poziom uprawnień od użytkownika standardowego do administratora. Możesz to zrobić po uruchomieniu aplikacji, klikając prawym przyciskiem myszy ikonę aplikacji i wskazując, że chcesz uruchomić jako administrator.
Zobacz też
Dotyczy
Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection)
Rejestruje niestandardową kategorię licznika wydajności zawierającą określone liczniki na komputerze lokalnym.
public:
static System::Diagnostics::PerformanceCounterCategory ^ Create(System::String ^ categoryName, System::String ^ categoryHelp, System::Diagnostics::PerformanceCounterCategoryType categoryType, System::Diagnostics::CounterCreationDataCollection ^ counterData);
public static System.Diagnostics.PerformanceCounterCategory Create(string categoryName, string categoryHelp, System.Diagnostics.PerformanceCounterCategoryType categoryType, System.Diagnostics.CounterCreationDataCollection counterData);
static member Create : string * string * System.Diagnostics.PerformanceCounterCategoryType * System.Diagnostics.CounterCreationDataCollection -> System.Diagnostics.PerformanceCounterCategory
Public Shared Function Create (categoryName As String, categoryHelp As String, categoryType As PerformanceCounterCategoryType, counterData As CounterCreationDataCollection) As PerformanceCounterCategory
Parametry
- categoryName
- String
Nazwa niestandardowej kategorii licznika wydajności do utworzenia i zarejestrowania w systemie.
- categoryHelp
- String
Opis kategorii niestandardowej.
- categoryType
- PerformanceCounterCategoryType
PerformanceCounterCategoryType Jedna z wartości.
- counterData
- CounterCreationDataCollection
Element CounterCreationDataCollection określający liczniki do utworzenia w ramach nowej kategorii.
Zwraca
Obiekt PerformanceCounterCategory skojarzony z nową kategorią niestandardową lub obiektem wydajności.
Wyjątki
Nazwa licznika określona w counterData kolekcji to null lub pusty ciąg ("").
— lub —
Licznik określony w counterData kolekcji już istnieje.
Parametr categoryName ma wartość null.
— lub —
Parametr counterData ma wartość null.
categoryTypewartość znajduje się poza zakresem następujących wartości: MultiInstance, lub SingleInstanceUnknown.
Kategoria już istnieje na komputerze lokalnym.
— lub —
Układ kolekcji counterData jest niepoprawny dla liczników bazowych. Licznik typu AverageCount64, , AverageTimer32CounterMultiTimerCounterMultiTimerInverseCounterMultiTimer100NsCounterMultiTimer100NsInverseRawFractionSampleFractionlub SampleCounter musi być natychmiast obserwowany przez jeden z podstawowych typów liczników (AverageBase, MultiBase, RawBase, lub ).SampleBase
Wywołanie podstawowego interfejsu API systemu nie powiodło się.
Kod wykonywany bez uprawnień administracyjnych próbował odczytać licznik wydajności.
Przykłady
Poniższy przykład kodu przedstawia użycie Create metody . W przykładzie pokazano, jak utworzyć niestandardową kategorię licznika wydajności z wieloma wystąpieniami dla liczby zamówień na sekundę.
CounterCreationData data1 = new CounterCreationData("Trucks",
"Number of orders", PerformanceCounterType.NumberOfItems32);
CounterCreationData data2 = new CounterCreationData("Rate of sales",
"Orders/second", PerformanceCounterType.RateOfCountsPerSecond32);
CounterCreationDataCollection ccds = new CounterCreationDataCollection();
ccds.Add(data1);
ccds.Add(data2);
Console.WriteLine("Creating Orders custom counter.");
if (!PerformanceCounterCategory.Exists("Orders"))
PerformanceCounterCategory.Create("Orders",
"Processed orders",
PerformanceCounterCategoryType.MultiInstance,
ccds);
Dim data1 As New CounterCreationData("Trucks", "Number of orders", PerformanceCounterType.NumberOfItems32)
Dim data2 As New CounterCreationData("Rate of sales", "Orders/second", PerformanceCounterType.RateOfCountsPerSecond32)
Dim ccds As New CounterCreationDataCollection()
ccds.Add(data1)
ccds.Add(data2)
Console.WriteLine("Creating Orders custom counter.")
If Not PerformanceCounterCategory.Exists("Orders") Then
PerformanceCounterCategory.Create("Orders", "Processed orders", PerformanceCounterCategoryType.MultiInstance, ccds)
End If
Uwagi
Parametr categoryType określa, czy kategoria licznika wydajności to jedno wystąpienie, czy wiele wystąpień. Domyślnie kategoria jest pojedynczym wystąpieniem podczas tworzenia i staje się wieloma wystąpieniami po dodaniu innego wystąpienia. Kategorie są tworzone podczas konfigurowania aplikacji, a wystąpienia są dodawane w czasie wykonywania. Wyliczenie PerformanceCounterCategoryType służy do wskazywania, czy licznik wydajności może mieć wiele wystąpień.
Kategorie liczników wydajności zainstalowane z .NET używają oddzielnej pamięci udostępnionej, a każda kategoria licznika wydajności ma własną pamięć. Rozmiar oddzielnej pamięci udostępnionej można określić, tworząc DWORD o nazwie FileMappingSize w kluczu rejestru HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<nazwę> kategorii\Wydajność. Wartość FileMappingSize jest ustawiona na rozmiar pamięci udostępnionej kategorii. Domyślny rozmiar to 131072 dziesiętny. Jeśli wartość FileMappingSize nie jest obecna, fileMappingSize zostanie użyta wartość atrybutu elementu określonego performanceCounters w pliku Machine.config, co powoduje dodatkowe obciążenie związane z przetwarzaniem plików konfiguracji. Możesz zrealizować poprawę wydajności uruchamiania aplikacji, ustawiając rozmiar mapowania plików w rejestrze.
Note
Zdecydowanie zaleca się utworzenie nowych kategorii liczników wydajności podczas instalacji aplikacji, a nie podczas wykonywania aplikacji. Dzięki temu system operacyjny może odświeżyć listę zarejestrowanych kategorii liczników wydajności. Jeśli lista nie została odświeżona, próba użycia kategorii zakończy się niepowodzeniem.
Note
Aby odczytać liczniki wydajności z sesji logowania nieinterakcyjnego w systemie Windows Vista i nowszych, Windows XP Professional x64 Edition lub Windows Server 2003, musisz być członkiem grupy Użytkownicy monitora wydajności lub mieć uprawnienia administracyjne.
Aby uniknąć konieczności podniesienia uprawnień dostępu do liczników wydajności w systemie Windows Vista i nowszych, dodaj się do grupy Użytkownicy monitora wydajności.
W systemie Windows Vista i nowszych kontrola konta użytkownika (UAC) określa uprawnienia użytkownika. Jeśli jesteś członkiem wbudowanej grupy Administratorzy, masz przypisane dwa tokeny dostępu w czasie wykonywania: standardowy token dostępu użytkownika i token dostępu administratora. Domyślnie jesteś w roli użytkownika standardowego. Aby wykonać kod, który uzyskuje dostęp do liczników wydajności, musisz najpierw podnieść poziom uprawnień od użytkownika standardowego do administratora. Możesz to zrobić po uruchomieniu aplikacji, klikając prawym przyciskiem myszy ikonę aplikacji i wskazując, że chcesz uruchomić jako administrator.