Windows Performance Toolkit – diagnozowanie długich czasów startu systemu operacyjnego


 

Witam ponownie, dziś zajmiemy się tematem rozwoju postaci Paladyna w naszym ukochanym WoWie… nie, przykro mi, nadal zamierzam pisać o zastosowaniu WPT. ;)

Sądzę, że nie wzbudzę wielu kontrowersji twierdząc, iż każdy system operacyjny, zacznie pod naporem użytkowników i administratorów oddawać pola w nierównej walce. O ile spadki wydajności komputera zazwyczaj nie pozostają niezauważone i niezgłoszone do IT, tak z mojego doświadczenia wynika, iż wydłużający się czas startu systemu operacyjnego, jeżeli nie dotyczy maszyn krytycznych, atakuje podstępnie niczym… hm, leniwiec? Wisi sobie gdzieś wysoko w listowiu i porusza się w tempie, które ludzka percepcja zwykła ignorować. Po dwóch miesiącach na naszym drzewie nie ma już jednak liści, a na uginającej się gałęzi wisi bydle wielkości niedźwiedzia brunatnego. ;)
Uciekając ze świata metafor i wracając do rzeczywistości, użytkownicy zaczną za wszelką cenę unikać wyłączania swoich maszyn, wybierając niekończące się pasmo usypiania i budzenia. Szybko skończy się to obniżeniem wydajności i stabilności systemu, który nie jest pewny, czy to może nie sen w śnie? ;) Stopień aktualności OSów na stacjach klienckich też zaczyna cierpieć, co zmusza nas do wymuszania restartów… a to nie przyczynia się do naszej popularności w firmie. Albo wyobraźcie sobie interwencję u waszego ulubionego, najbardziej „specyficznego” użytkownika w firmie, podczas której musicie zrestartować komputer. I te ciągnące się w nieskończoność 10 minut spędzone na wpatrywaniu się w napis „Welcome”. Jak to swego czasu wychrypiał Marlon Brando: „The horror… the horror…”. ;)

Ignorując taki stan rzeczy, sami prosimy się o to, by jakiś entuzjasta metodyki LEAN usiadł z kartką i ołówkiem, po czym mając ilość komputerów i czas rozruchu zmierzony miarą „potencjalnie wypitych kaw”, wykazał straty dla przedsiębiorstwa, które zagrażają jego istnieniu. Ewentualnie zastąpcie LEANowca Panem Prezesem, a kartkę z obliczeniami niech wygryzie Najważniejszy Laptop w Firmie, jeżeli to lepiej oddaje Wasze warunki pracy. ;)
Co robić? Pracując w IT, pewnie macie już wypracowane pewne nawyki, które służą radzeniu sobie z problem długiego rozruchu systemu. Sprawdź, co odpala się podczas startu. Zabij to co zbędne. Sprawdź stan rejestru systemowego. Sprawdź komponenty sprzętowe. Sprawdź czy problem nie jest spowodowany przez sterowniki. Albo malware. Albo oprogramowanie antywirusowe. Albo…

Ech, dużo tego…

Ale nie lękajcie się, mamy WPT, więc łatwiej będzie dokopać się nam do sprawy sedna. Nagrywamy trace’a z zaznaczonym scenariuszem „Boot”, zaparzamy w międzyczasie „Małą Czarną” w półlitrowym kubku, odpalamy „Heroes” Petera Gabriela i przystępujemy do ratowania naszego zakładu pracy. ;)
Lojalnie jednak ostrzegam: WPT zmusza do bobrowania w Sieci, wszak „The truth is out there”.
Do przygotowania tego materiału użyłem laptopa, którego właściciel narzekał na dłuuuuugi czas startu systemu. Skoro można połączyć pożyteczne (pomoc użytkownikowi) z pożytecznym (wpis dla Speców)… ;)
Ładujemy trace’ a do WPA i oczom naszym ukazuje się póki co spora połać bieli, z lewej strony przerwana przez małe wykresy. Nie będę ich opisywał, bo nie ma to większego sensu – interfejs jest prosty, szczególnie dla osób pracujących, bądź zainteresowanych IT. Skoro wiemy, że komputer odpala się „długo”, to przydałoby się wiedzieć ile owo długo dokładnie trwa, prawda? Używanie „przerw na kawę” jako miary, może doprowadzić do nieporozumień, bo jak sami pewnie wiecie, jest to rzecz silnie zależna od działu firmy. ;)

Rozwijamy więc grupę wykresów „System Activity” i klikamy dwukrotnie na opcji „Boot Phases”. I tyle, mamy już solidny materiał do dalszego śledztwa:
wpt - diagnozowanie dlugich startow - 1
Jak widać w prawym dolnym rogu wykresu, dokładny czas rozruchu systemu to 182 sekundy. Nie jest to źle, biorąc pod uwagę iż maszyna nie ma dysku SSD, a jej dysk twardy jest zaszyfrowany. Chciałbym jednak zwrócić uwagę na fakt, iż WPT bardzo czytelnie pokazuje, ile zajmują poszczególne fazy ładowania OSa. Po ledwie kilku kliknięciach, mamy już mocne przesłanki do ograniczenia potencjalnych problemów z komputerem, wiedząc po prostu co dzieje się w kolejnych krokach startu Windowsa.

Jak widać, powinniśmy zwrócić uwagę na Winlogon Init i Post Boot Phase. Sprawdźmy najpierw, czy może nie mamy w tym czasie problemu z zasobami sprzętowymi. Przeciągamy z lewego menu na ekran główny wykresy dotyczące wykorzystania procesora, pamięci operacyjnej i HDD, po czym… po prostu klikamy lewym przyciskiem myszy na interesującą nas fazę uruchamiania systemu:
wpt - diagnozowanie dlugich startow - 2
Proste, prawda? Kliknięcie na fioletowy pasek, który odpowiada za Post Boot Phase i od razu widać wykorzystanie zasobów sprzętowych w kolejnej potencjalnie problematycznej fazie. Możemy również otworzyć kolejne okno i przenieść do niego tylko dany wycinek czasowy trace’a, co jeszcze bardziej ułatwia ocenę sytuacji.
Z tego co widzimy wynika, iż procesor raczej nie jest przyczyną spowolnień, z drugiej strony dysku twardego nie możemy jeszcze wykluczyć jako wąskiego gardła. Jak sprawdzić, co jest zapisywane\odczytywane w konkretnej fazie rozruchu?

Użyjemy do tego widoku „Disk Usage Utilization by IO Type”. Zwróćcie uwagę na pokaźny czerwony pasek, który informuje nas o dużej ilości odczytów dotyczących ścieżki C:\Windows\System32\WBEM\Repository\OBJECTS.data. Rzecz warta porównania z innymi maszynami pracującymi w tym środowisku:
wpt - diagnozowanie dlugich startow - 3
Sprawdźmy teraz co dokładnie dzieje się w fazie Winlogon Init – w tym celu, klikamy dwukrotnie na „Windows Logon – Timeline by Subscriber”. Co ukaże się naszym oczom?
wpt - diagnozowanie dlugich startow - 4
Hm, długi, ciemnoniebieski pasek wygląda podejrzanie, prawda? Ciekawe co to jest…
wpt - diagnozowanie dlugich startow - 5
GPClient… według tabelki spod wykresu, działa on przez 52 sekundy. To niemal 1/3 czasu startu tego komputera. Pora na przyjrzenie się implementacji polityk na tej maszynie – pewną podpowiedzą jest tu faza w której problemy ma GPClient, czyli Winlogon Init. Egzekwowanie polityk następuje wszak w pewnym porządku.

Otwieram nowe okno i z „System Activity”, wybieram „Generic Events Activity by Provider”. Znajduję w końcu Microsoft-Windows-Group-Policy i… szukam dziury w całym. Dosłownie. Moje aktualne okno WPA wygląda tak (wybaczcie cenzurę, ale wierzę że rozumiecie w czym rzecz):
wpt - diagnozowanie dlugich startow - 6
Kody błędów 0x00000000 ciągną się jeszcze dłuuuuugo, kończąc się efektownym „Unable to parse data”. Musimy jednak pamiętać, że błędy przy wykonywaniu polityk zdarzać się będą, tak więc potrzebujemy czegoś więcej. Zwróćcie uwagę na kolumnę „Time (s)”.
Bingo! Mamy dziurę… i to pokaźnych rozmiarów, bo blisko 40-sto sekundową!
wpt - diagnozowanie dlugich startow - 7
Spisujemy wszystkie szczegóły, dotyczące wykonywanej w tym momencie polityki i angażujemy w sprawę SysAdmina. Diagnozowania problemów z wykonywaniem GPO to już materiał na całą serię artykułów, tak więc zatrzymajmy się w tym miejscu. :)

Co wypadałoby jeszcze sprawdzić?

Pamiętacie długi, fioletowy pasek podpisany „Post-Boot Phase”?
Tak, to też wygląda na obiecujące pole do poprawy. Musicie wiedzieć, iż według Microsoftu ta faza ładowania systemu kończy się, kiedy dysk twardy i procesor badanej maszyny, pozostaną w 80% bezczynne przez 10 sekund. Należy o tym pamiętać, jeżeli opóźniamy start pewnych procesów/aplikacji, bo WPT może już nie sklasyfikować tej aktywności, jako część procesu rozruchu systemu operacyjnego, w przeciwieństwie do użytkownika. ;)
Sprawdźmy, cóż użytkownik postanowił uruchomić automatycznie w ostatniej fazie rozruchu. Klikamy dwukrotnie na wykres „Processes Lifetime by Process”, dodajemy „Boot Phases”, a następnie klikając prawym przyciskiem myszki, wybieramy opcję „Zoom” na fazie „Post-Boot Phase”:wpt - diagnozowanie dlugich startow - 8
Dzięki temu łatwo zobaczymy co się tak właściwie na tym etapie uruchamia i ile jesteśmy w stanie zaoszczędzić, jeżeli przekonamy użytkownika iż dana aplikacja nie musi być uruchamiana przy każdym starcie systemu… Czasami nie warto z użytkownikiem kruszyć kopii o aplikację obsługującą jego telefon komórkowy, albo Windowsowe gadżety, jeżeli zyskamy na tym marną sekundę. Jednak już 5 głupiutkich aplikacji, z których każda pożera sekundę, to zupełnie inna sprawa. ;)

Czy to wszystko? Bynajmniej! Lista przyczyn, które mogą powodować długi czas startu systemu, jest niestety bardzo rozwlekła i nie ma szans, bym w jednym wpisie choćby te najbardziej popularne. Mam jednak nadzieję, że taki krótki przykład użycia WPT podczas codziennej pracy, zachęcił Was do przyjrzenia się temu zgrabnemu narzędziu i samodzielnych poszukiwań, a następne diagnozowanie długich czasów startu systemu pójdzie Wam jak po maśle.


Podobne Tematy:

Tags:
  • Krystian

    Hej, będzie seria artykułów o źle przetwarzanym GPO? :)

    • Grzegorz Zdanowicz

      W swoim czasie pewnie tak, póki co nie czuję się jeszcze wystarczająco przygotowany merytorycznie, by popełnić taki wpis – muszę jeszcze sporo poeksperymentować. ;)

  • Robert Dyjas

    Zaraz próbuję, zobaczymy czemu mój tak wolno startuje ;)

    • Grzegorz Zdanowicz

      Powodzenia! :)