| Termin | Definicja |
|---|---|
| Performance Monitor (PerfMon) | Performance Monitor to narzędzie Windows zbierające liczniki wydajności systemu i SQL Server. Performance Monitor jako narzędzie obserwacji systemu WindowsPerformance Monitor, często skracany do nazwy PerfMon, służy do szczegółowego obserwowania pracy komputera z systemem Windows. Nie jest jedynie prostym podglądem chwilowego użycia procesora. Pozwala zbierać dane z wielu liczników, zapisywać je w czasie, porównywać wyniki oraz analizować zależności między obciążeniem podzespołów, działaniem usług i zachowaniem aplikacji. Dzięki temu można przejść od ogólnego stwierdzenia, że komputer działa wolno, do bardziej konkretnej obserwacji: procesor jest zajęty, pamięć operacyjna jest intensywnie wymieniana z plikiem stronicowania, dysk długo oczekuje na operacje wejścia i wyjścia albo konkretna usługa zużywa zasoby w określonych momentach. Program jest dostępny w systemie Windows i może być uruchamiany z poziomu narzędzi administracyjnych lub przez polecenie perfmon. Jego działanie opiera się na licznikach wydajności. Każdy licznik opisuje wybrany fragment pracy systemu, a właściwa interpretacja wymaga uwzględnienia czasu pomiaru, obciążenia komputera oraz charakteru wykonywanych zadań. Krótkotrwały skok użycia procesora podczas uruchamiania aplikacji nie musi oznaczać awarii. Znacznie większe znaczenie ma powtarzalny wzorzec, na przykład regularne przeciążenie występujące podczas pracy biurowej, renderowania, kompilowania lub obsługi bazy danych. Performance Monitor może być używany zarówno do bieżącego podglądu, jak i do dłuższej rejestracji. Podgląd pomaga sprawdzić, co dzieje się w danej chwili, natomiast zestaw danych zapisany przez wiele godzin pozwala wykryć problemy pojawiające się nieregularnie. Taki sposób pracy jest szczególnie przydatny wtedy, gdy spowolnienie nie występuje podczas krótkiej wizyty przy komputerze, lecz pojawia się po kilku godzinach działania albo tylko przy określonym zadaniu. Liczniki PerfMon i kontekst techniczny pomiaruNajczęściej analizowane obszary obejmują procesor, pamięć, dyski, sieć, procesy oraz usługi. Dla procesora można obserwować między innymi całkowity czas zajętości, czas pracy w trybie uprzywilejowanym i użytkownika, a także obciążenie poszczególnych procesów. W przypadku pamięci istotne są dostępne zasoby, intensywność przenoszenia danych między pamięcią operacyjną a plikiem stronicowania oraz liczba operacji oczekujących na wykonanie. Dane te pomagają odróżnić brak pamięci od problemu powodowanego przez aplikację, sterownik albo nieprawidłową konfigurację. Przy analizie dysku trzeba rozróżnić kilka zjawisk. Wysokie użycie dysku nie zawsze oznacza, że nośnik jest uszkodzony. Może ono wynikać z dużej liczby małych operacji, skanowania plików, aktualizacji, synchronizacji danych lub intensywnego korzystania z pamięci wirtualnej. Warto zestawić aktywność dysku z czasem odpowiedzi, długością kolejki oraz liczbą odczytów i zapisów. Jeżeli kolejka utrzymuje się długo, a czas odpowiedzi rośnie, użytkownik może odczuwać zawieszanie aplikacji nawet wtedy, gdy procesor nie jest mocno obciążony. Liczniki procesów pozwalają przypisać obciążenie do konkretnego programu. Należy jednak pamiętać, że nazwa procesu nie zawsze wskazuje pełną przyczynę problemu. Aplikacja może korzystać z dodatkowej usługi, sterownika, modułu rozszerzającego albo komponentu działającego w tle. Z tego powodu pojedynczy licznik powinien być traktowany jako wskazówka, a nie samodzielny dowód usterki. Najbardziej wiarygodne wnioski powstają po zestawieniu kilku grup danych z tym samym przedziałem czasu. W środowiskach, w których działa SQL Server, PerfMon może wspierać obserwację pracy silnika bazy danych, dysków i pamięci. Sam odczyt licznika nie zastępuje analizy zapytań, planów wykonania ani konfiguracji bazy. Może jednak wskazać moment, w którym pojawia się wzrost opóźnień, przeciążenie procesora, oczekiwanie na operacje dyskowe lub presja na pamięć. Przydatne jest porównanie tych danych z logami aplikacji i informacjami o czasie wystąpienia problemu. Performance Monitor a typowe problemy z wydajnościąJednym z częstych zastosowań narzędzia jest wyjaśnianie powolnego uruchamiania programów. Jeżeli podczas startu aplikacji gwałtownie rośnie aktywność dysku, a pamięć jest niemal w całości zajęta, przyczyną może być ładowanie dużej liczby składników lub intensywne korzystanie z pliku stronicowania. Jeżeli natomiast procesor pozostaje obciążony przez jeden proces, warto sprawdzić jego ustawienia, dodatki oraz zadania wykonywane w tle. Powolność może też wynikać z opóźnień sieciowych, których nie da się potwierdzić samym licznikiem procesora. Inny przypadek stanowią chwilowe zawieszenia obrazu lub przerwy w reakcji klawiatury. W takiej sytuacji przydatny jest zapis obejmujący okres przed zdarzeniem, jego wystąpienie oraz kilka minut po nim. Pozwala to sprawdzić, czy w tym samym czasie nastąpił skok aktywności dysku, wzrost użycia pamięci, obciążenie konkretnego procesu lub zmiana zachowania usługi. Gdy problem dotyczy grafiki, sam PerfMon może nie wystarczyć, ponieważ potrzebne bywają również informacje ze sterownika, dzienników systemowych i narzędzi diagnostycznych producenta. PerfMon pomaga również przy analizie niestabilności aplikacji. Jeżeli program zamyka się po dłuższym czasie, warto rejestrować dane przez okres odpowiadający typowemu cyklowi pracy. Można w ten sposób zauważyć stopniowy wzrost zajętości pamięci, powtarzające się operacje dyskowe albo narastające obciążenie procesu. Nie każda rosnąca wartość oznacza wyciek pamięci, lecz utrwalony trend jest sygnałem do dalszego sprawdzenia aplikacji, jej wersji, dodatków i zgodności z systemem. Warto także rozdzielić problem wydajności od problemu sprzętowego. Wysoka temperatura, zużycie nośnika, błędy pamięci lub niestabilne zasilanie mogą powodować objawy podobne do przeciążenia systemu. Performance Monitor pokazuje zachowanie systemu, ale nie mierzy wszystkich fizycznych przyczyn. Dlatego w razie podejrzenia usterki potrzebne może być sprawdzenie podzespołów, chłodzenia, stanu dysku, pamięci oraz dzienników zdarzeń. Konfiguracja i praktyczne wskazówki dla PerfMonPrzed rozpoczęciem pomiaru należy określić pytanie diagnostyczne. Inny zestaw liczników będzie potrzebny do sprawdzenia wolnego działania aplikacji, inny do analizy przeciążenia dysku, a jeszcze inny do obserwacji usług. Dodawanie bardzo dużej liczby liczników utrudnia interpretację i może zwiększać ilość danych bez poprawy jakości wniosków. Lepiej rozpocząć od kilku grup związanych z procesorem, pamięcią, dyskiem i procesami, a następnie rozszerzyć pomiar, jeżeli pierwsze wyniki nie wyjaśniają problemu. Istotny jest interwał próbkowania. Krótki odstęp lepiej rejestruje nagłe skoki, ale szybciej zwiększa rozmiar pliku i może utrudnić analizę długiego okresu. Dłuższy odstęp wystarcza do obserwowania powolnych zmian, lecz może pominąć krótkie zdarzenia. W praktyce częstotliwość należy dopasować do rodzaju problemu: chwilowe zawieszenie wymaga gęstszego zapisu, natomiast stopniowe spowolnienie może być analizowane przy rzadszym próbkowaniu. Pomiar powinien obejmować typowe warunki pracy. Jeżeli problem występuje podczas uruchamiania konkretnej aplikacji, należy rozpocząć rejestrację przed jej otwarciem. Jeżeli pojawia się po kilku godzinach, krótki test może nie przynieść użytecznych danych. Warto zapisać godzinę wystąpienia objawu, wykonywaną czynność oraz komunikaty widoczne na ekranie. Takie informacje ułatwiają późniejsze powiązanie wykresu z rzeczywistym zdarzeniem. Interpretując wykresy, trzeba zwracać uwagę na korelacje, a nie tylko na najwyższe wartości. Jednoczesny wzrost użycia pamięci i aktywności dysku może wskazywać na intensywne stronicowanie. Wzrost czasu procesora jednego procesu bez podobnej zmiany w innych obszarach kieruje uwagę na konkretną aplikację. Z kolei podwyższone opóźnienia przy niewielkim obciążeniu podzespołów mogą sugerować problem z komunikacją, sterownikiem albo oczekiwaniem na zewnętrzny zasób. Dane zebrane przez PerfMon warto przechowywać z opisem daty, celu pomiaru i konfiguracji komputera. Bez tego po pewnym czasie trudniej ustalić, czy zmiana wynikała z aktualizacji, instalacji programu, modyfikacji sterownika lub innego zdarzenia. Porównywanie dwóch zapisów wykonanych w różnych warunkach może prowadzić do błędnych wniosków, dlatego testy powinny być możliwie podobne. Kiedy zgłosić się z Performance Monitor do serwisuDo serwisu warto zgłosić się wtedy, gdy pomiary wskazują powtarzalny problem, ale nie pozwalają jednoznacznie ustalić jego źródła, albo gdy objawom towarzyszą restarty, niebieskie ekrany, zaniki obrazu, nietypowe dźwięki nośnika czy utrata danych. Pomoc może być potrzebna również wtedy, gdy komputer działa poprawnie przez krótki czas, a następnie wyraźnie zwalnia. W takich przypadkach zapis z Performance Monitor może stanowić cenne uzupełnienie opisu usterki, choć nie zastępuje bezpośredniej kontroli sprzętu i systemu. Przed przekazaniem komputera dobrze jest zanotować, kiedy występuje problem, po jakiej czynności się pojawia oraz czy dotyczy wszystkich programów, czy tylko jednego. Przydatne mogą być także nazwy procesów widocznych w czasie spowolnienia i godziny zapisane w dzienniku pomiaru. Nie należy jednak usuwać plików systemowych ani wyłączać ważnych usług wyłącznie na podstawie pojedynczego wykresu. Pochopna zmiana konfiguracji może utrudnić rozpoznanie przyczyny. Warszawskie Pogotowie Komputerowe 24/7 zajmuje się sprawdzaniem problemów z laptopami i komputerami PC, gdy obserwowane objawy wymagają szerszej diagnostyki niż samodzielny odczyt liczników. Przy przekazywaniu sprzętu warto opisać sposób występowania usterki oraz wskazać, czy przygotowano zapis z PerfMon. Ułatwia to rozpoczęcie analizy od konkretnych zdarzeń i ogranicza ryzyko skupienia się na objawie, który nie jest właściwą przyczyną spowolnienia. |