- PerfMon umożliwia pomiary w czasie rzeczywistym i długoterminową rejestrację za pomocą precyzyjnych i konfigurowalnych liczników.
- Zestawy kolekcjonerskie i Logman ułatwiają powtarzalne przechwytywanie i automatyzację na serwerach.
- Progi dla pamięci, procesora, dysku i sieci pomagają wykryć wąskie gardła i wycieki.
- Monitor niezawodności uzupełnia analizę, pokazując awarie i problemy ze zgodnością.

Wydajność pon (monitor wydajności) Czy Najlepsze narzędzie do monitorowania w systemie WindowsPerfMon: Umożliwia przeglądanie w czasie rzeczywistym, długoterminowych i analizowanie metryk wydajności procesora, pamięci, dysku, sieci i określonych procesów. W przeciwieństwie do Menedżera zadań, PerfMon pobiera próbki w regularnych odstępach czasu i zapisuje je na dysku, co czyni go idealnym narzędziem do wykrywania problemów, które pojawiają się dopiero po kilku godzinach pracy, takich jak przepełnienia pamięci lub wycieki zasobów w usługach i aplikacjach.
W tym artykule pokażemy Jak używać PerfMon. Od wyboru i zrozumienia właściwych liczników, przez dostosowanie próbkowania i skalowania wykresów, po tworzenie zestawów modułów zbierających dane w celu rejestrowania metryk w pliku (BLG/CSV).
Czym jest PerfMon i kiedy go używać?
Monitor wydajności (PerfMon) jest natywnym programem do przeglądania i rejestrowania liczników w systemie Windows.Prezentuje metryki w formie wykresów i surowych danych uzyskanych z liczników systemowych i aplikacyjnych (np. z .NET CLR lub określonego procesu). Jego największą zaletą w porównaniu z „szybkimi” narzędziami takimi jak Menedżer zadań polega na tym, że można go pozostawić włączonym przez wiele godzin lub dni, z okresowymi próbkami, w celu wykrycia rzeczywistych trendów (szczytów, linii bazowych, trwałego wzrostu).
Wydajność pon jest kluczowa dla diagnozowanie wzrostu pamięci, wycieków uchwytów lub wątkówi wyizoluj problematyczne komponenty, uruchamiając określone testy. Na przykład, jeśli podejrzewasz wyciek pamięci, włącz liczniki takie jak „Prywatne bajty”, „Liczba uchwytów” i „Liczba wątków” dla danego procesu, a także liczniki pamięci .NET CLR, takie jak „Liczba bajtów we wszystkich stertach” i „Rozmiar sterty Gen 2” dla aplikacji .NET, aby sprawdzić, czy wzrost występuje podczas, czy poza odzyskiwaniem pamięci.

Sposoby otwierania PerfMon i trybów specjalistycznych
Możesz otworzyć PerfMon w menu Start wyszukaj „performance” lub „perfmon” i uruchom jako administrator gdy chcesz utworzyć dzienniki lub wysłać zapytanie do zdalnych komputerów.
Jeśli wolisz Wiersz poleceń (Win+R lub CMD) – dostępne są bardzo przydatne tryby bezpośrednie o następującej składni:
perfmon </res|report|rel|sys>
Co robi każda opcja?
- /rez. aby otworzyć widok zasobów
- /raport aby uruchomić pakiet narzędzi diagnostycznych systemu i wyświetlić raport.
- / rel aby otworzyć Monitor niezawodności.
- / sys aby przejść bezpośrednio do klasycznego monitora wydajności.
rada:jeśli chcesz sprawdzić niezawodność sprzętu, perfmon / rel Jest to bezpośredni dostęp do historii stabilności i błędów.
monitor niezawodności Znajdziesz go również w Panelu sterowania > System i zabezpieczenia > Zabezpieczenia i konserwacja. Inny skrót: wpisz „reliab” w wyszukiwarce menu Start i wybierz „Wyświetl historię niezawodności”. Zobaczysz krytyczne zdarzenia, ostrzeżenia i informacje według dnia lub tygodnia, z dostępem do szczegóły techniczne awarii aplikacji i sterowników.
Wizualizacja w czasie rzeczywistym: dodawanie i zrozumienie liczników
Aby zobaczyć wykres na żywoOtwórz „Monitor wydajności” w drzewie po lewej stronie. Jeśli istnieją wstępnie załadowane liczniki i chcesz rozpocząć czyszczenie, zaznacz je w poniższej tabeli i naciśnij Nadzorca. Następnie w obszarze wykresu kliknij prawym przyciskiem myszy > Dodaj liczniki…, aby otworzyć okno dialogowe ze wszystkimi dostępnymi kategoriami.
wybierać kategoria zainteresowania, licznik i instancja obiektu (np. Twój proces). Aby zdiagnozować pamięć i zasoby w konkretnej aplikacji, dodaj te kluczowe liczniki z grupy Przetwarzanie y Pamięć .NET CLR w stosownych przypadkach:
- Proces \ Prywatne bajty: Pamięć prywatna przydzielona przez proces (niewspółdzielona z innymi). Stały wzrost wskazuje na faktyczne zużycie własnej pamięci wirtualnej.
- Proces \ Liczba uchwytów: liczba otwartych uchwytów. Stały wzrost często wskazuje na wycieki zasobów (sesji, obiektów systemowych).
- Proces \ Liczba wątków: Liczba aktywnych wątków w procesie. Nieoczekiwane skoki mogą wskazywać na problemy ze współbieżnością lub niedokończone wątki.
- Pamięć .NET CLR \ # Bajtów we wszystkich stosach: Całkowita pamięć dla obiektów .NET. Jeśli rośnie bez stabilizacji, sprawdź obciążenie pamięci masowej i nieopublikowane referencje.
- Pamięć .NET CLR \ rozmiar sterty Gen 2:Rozmiar sterty Gen 2 (przedmioty o długim okresie ważności). Ciągły wzrost sugeruje nieodebrane przedmioty o długim okresie ważności.
Zinterpretuj wykres krytycznym okiemJeśli zauważysz, że liczba bajtów prywatnych stale rośnie, podczas gdy liczba bajtów we wszystkich stertach i rozmiarze sterty Gen 2 pozostaje stabilna, wzrost nie dotyczy sterty .NET, ale pamięci natywnej/rezerw procesu. Ten wzorzec zazwyczaj wskazuje na wyciek poza GC (np. niezamrożone bufory lub uchwyty).

Dostosuj wykres: skalę, interwał i czas trwania
PerfMon pozwala dostosuj widoczność każdego licznika i okres historii, który widzisz. naciśnij Ctrl + Shift + A Aby wybrać wszystkie liczniki z poniższej listy, kliknij prawym przyciskiem myszy i wybierz Skaluj wybrane liczniki, dzięki czemu wszystkie będą widoczne, bez „spłaszczania” reszty przez jeden.
Otwórz Właściwości wykresu Kliknij prawym przyciskiem myszy > Właściwości… i ustaw częstotliwość próbkowania na karcie Ogólne. Na przykład, próbkuj co 10 sekund i ustaw Czas trwania na 10000, aby objąć widok obejmujący około 2,5 godziny. Im dłuższe zjawisko, tym bardziej rozłożona powinna być częstotliwość próbkowania, aby uniknąć dużych plików i przeciążenia komputera.
Dodatkowa wskazówka:PerfMon udostępnia właściwości i metody ActiveX, umożliwiając integrację lub sterowanie nimi z poziomu innych narzędzi programistycznych, a nawet osadzanie ich jako kontrolki we własnej aplikacji, jeśli zajdzie taka potrzeba.
Automatyzacja z Logmanem: tworzenie, uruchamianie i zatrzymywanie
Logman.exe to narzędzie wiersza poleceń służące do tworzenia i zarządzania zestawami liczników.Otwórz wiersz poleceń z uprawnieniami administratora i uruchom polecenie podobne do poniższego, aby utworzyć duży pakiet do ciągłego monitorowania z plikiem cyklicznym:
Logman.exe create counter Avamar -o "c:\\perflogs\\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\\LogicalDisk(*)\\*" "\\Memory\\*" "\\Network Interface(*)\\*" "\\Paging File(*)\\*" "\\PhysicalDisk(*)\\*" "\\Processor(*)\\*" "\\Process(*)\\*" "\\Redirector\\*" "\\Server\\*" "\\System\\*" -si 00:00:05
do rozpocznij i zatrzymaj przechwytywanie, używa:
Logman.exe start Avamar
Logman.exe stop Avamar
Wskazówki dotyczące poleceń: -f bincirc tworzy cykliczny dziennik binarny (-max ogranicza rozmiar w MB), -si definiuje interwał próbkowania, a -c dodaje liczniki zbiorczo dla obiektów i ich instancji. Używaj ścieżek w cudzysłowie i unikaj ukośników odwrotnych podczas pisania skryptów lub eksportowania konfiguracji.
Kiedy stosować Logmana? Jest idealny do zbierać dane na duże odległości Automatyzuj diagnostykę na serwerach lub standaryzuj przechwytywanie na wielu maszynach. Możesz to zaplanować za pomocą Harmonogramu zadań i samodzielnie rotować pliki.

Przydatne liczniki i progi dla każdego podsystemu
pamięćMonitoruje rzeczywistą pojemność, obciążenie stronicowania i stopień wyczerpania puli systemowej. Te liczniki i wytyczne pomagają odróżnić objawy od przyczyn:
- Pamięć \ % zaangażowanych bajtów w użyciu: Procent zaangażowanej pamięci przekraczający limit zaangażowania. Jeśli stale przekracza 80%, sprawdź rozmiar pliku stronicowania i faktyczne wykorzystanie.
- Pamięć \ Dostępne MB:Zwolnij pamięć fizyczną. Sprawdź, czy <5% pamięci RAM nie spada regularnie (a <1% jest wartością krytyczną).
- Pamięć \ Zadeklarowane bajty: Łączna liczba przypisanych bajtów. Nie powinna się gwałtownie zmieniać; częste zmiany mogą powodować rozszerzanie pliku stronicowania.
- Pamięć \ Bajty puli niestronicowanej:pula niestronicowana (obiekty, których nie można zapisać na dysku). Trwałe nasycenia (> 80%) Są one powiązane z wydarzeniami takimi jak rok 2019 (wyczerpanie puli niestronicowanych danych).
- Pamięć \ Bajty stronicowane w puli: : pula stronicowana. Utrzymujące się wartości > 70% wartości maksymalnej wskazują na ryzyko wystąpienia zdarzenia z 2020 r. (wyczerpanie puli stronicowanej).
Procesor: Należy zwrócić uwagę na stałe obciążenia i silne sygnały I/O lub zaszumione sterowniki.
- Informacje o procesorze \ % czasu procesora (wszystkie wystąpienia): >90% utrzymywane na 1 procesorze lub >80% przy wykorzystaniu wielu procesorów sugeruje przeciążenie procesora.
- Procesor \ % czasu uprzywilejowanego:Czas trybu jądra. Ciągłe przekraczanie 30% na serwerach aplikacji/web może wskazywać na nadmierne obciążenie sterownika lub systemu.
- Procesor \ % Czas przerwania y % czasu DPC: > 25% wskazuje na intensywną aktywność urządzenia (karta sieciowa, dysk itp.).
- System \ Przełączenia kontekstu/sek y Procesor \ Przerwania/sek:przydatne do przeglądania nacisku przełączania kontekstu i aktywności przerwań.
Czerwony:wskazuje na stan zdrowia NIC i jakość komunikacji.
- Interfejs sieciowy\Odebrane pakiety odrzucone: powinno pozostać bliskie zeru; rosnące wartości zwykle wskazują na niewystarczające bufory/sprzęt.
- Interfejs sieciowy\Błędy odebranych pakietów: : W przypadku wystąpienia błędów > 2 konieczna jest kontrola łączy/kable/sterowniki.
dyskoteka: mierzy nasycenie, opóźnienie i pojemność.
- Dysk fizyczny \ % czasu bezczynności: procent czasu bezczynności. Utrzymujący się niski poziom wskazuje na zajęty dysk; dobrze odzwierciedla pozostałą pojemność.
- Dysk fizyczny \ Średnia prędkość dysku/odczyt y Średnia prędkość zapisu na dysku w sekundach: Średnie opóźnienie. Typowe wartości odniesienia (wytyczne): Odczyt doskonały < 8 ms, akceptowalny < 12 ms, zadowalający < 20 ms, słaby > 20 ms; Zapis doskonały < 1 ms, dobry < 2 ms, zadowalający < 4 ms, słaby > 4 ms.
- Dysk fizyczny \ średnia długość kolejki dyskowej:średnie ogony. Wartości poniżej 2× są zazwyczaj rozsądne.
- Dysk fizyczny \ Podzielone wejście/wyjście/sek.:Podział operacji wejścia/wyjścia z powodu fragmentacji lub nieodpowiednich rozmiarów bloków. Im niższy, tym lepiej.
- Dysk logiczny \ % wolnego miejsca: Zawsze zostawiaj > 15% wolnego miejsca (zalecane ≥ 25%) na logicznych woluminach systemu.
Obiekty dyskowe: fizyczne i logiczne.
- Dysk fizyczny dodaje dostęp do wszystkich partycji urządzenia fizycznego (identyfikuje sprzęt).
- Dysk logiczny Mierzy określoną partycję lub punkt montowania. W przypadku dysków dynamicznych wolumin logiczny może obejmować wiele dysków fizycznych, a jego liczniki będą odzwierciedlać ich sumę.
Proces:aby korelować zasoby z zachowaniem konkretnej aplikacji, monitorować Proces \ % czasu procesora, Prywatne bajty, Wirtualne bajty y Zestaw roboczy. Liczba uchwytów Jest to kluczowe, jeśli podejrzewasz przecieki w basenie; rozwój uchwyty często łączą się z nieprawidłowymi wzrostami Pula niestronicowana/stronicowana.
Monitor niezawodności: badaj awarie i zgodność
Monitor niezawodności systemu Windows podsumowuje stabilność i zdarzenia według dnia lub tygodnia, klasyfikując krytyczne, ostrzegawcze i informacyjneZ poziomu każdej kolumny możesz wybrać opcję „Wyświetl szczegóły techniczne”, aby sprawdzić moduły, kod i podpisy cyfrowe plików binarnych.
- Praktyczny przykładZnajdziesz wpisy takie jak svchost.exe_MapsBroker lub inne awarie aplikacji. Czasami zgłaszany moduł (np. Kernelbase.dll) należy do jądra systemu Windows i jest podpisany przez firmę Microsoft, co sugeruje, że przyczyną problemu nie jest jądro, a raczej aplikacja lub wtyczka działająca w przestrzeni użytkownika.
- Co zrobić, gdy stara aplikacja przestaje działaćUruchom narzędzie do rozwiązywania problemów ze zgodnością i spróbuj wymusić tryb zgodności (np. w systemie Windows 7) oraz wyłączyć skalowanie DPI, jeśli wystąpią problemy z interfejsem lub wydajnością. Wykazano, że to ustawienie rozwiązuje problemy z awariami w starszym oprogramowaniu.
- Łączy wyniki dotyczące stabilności z PerfMonŁączy historię awarii z dziennikami liczników, aby sprawdzić, czy bajty prywatne, liczba uchwytów lub opóźnienie dysku były wysokie przed awarią. Ta korelacja daje wątek do wyciągnięcia.
- Praktyczne zamknięcie:Dzięki PerfMon i Reliability Monitor możesz diagnozować problemy od objawów (awaria, spowolnienie) po przyczynę (wyciek pamięci, wąskie gardło dysku, 100% wykorzystania procesora, błędy sieciowe) przy pomocy liczników i progów, które jasno Cię poprowadzą.
Jeśli potrzebujesz krótki przewodnik na początek:Otwórz PerfMon, dodaj liczniki dla procesu docelowego (bajty prywatne, % czasu procesora itd.), dostosuj próbkowanie i czas trwania, aby objąć okno, w którym wystąpił problem, zarejestruj w pliku przy użyciu zestawu kolektorów, a jeśli to możliwe, zautomatyzuj za pomocą Logman na serwerach lub w środowiskach testowych, które muszą działać przez wiele godzin.
Redaktor specjalizujący się w zagadnieniach technologii i Internetu z ponad dziesięcioletnim doświadczeniem w różnych mediach cyfrowych. Pracowałem jako redaktor i twórca treści dla firm z branży e-commerce, komunikacji, marketingu online i reklamy. Pisałem także na portalach poświęconych ekonomii, finansom i innym branżom. Moja praca jest także moją pasją. Teraz, poprzez moje artykuły w Tecnobits, staram się odkrywać wszystkie nowości i nowe możliwości, jakie świat technologii oferuje nam każdego dnia, aby poprawić nasze życie.