[Archiwum biuletynów ^][< Wolumin 4, Numer 1][Wolumin 4, Liczba 3 >]

System wewnętrzny wolumin biuletynu 4, numer 2

http://www.sysinternals.com
Copyright (C) 2002 Mark Russinovich


12 sierpnia — w tym problemie:

  1. REDAKCJI

  2. CO NOWEGO W SYSINTERNALS

    • TCPView v2.21
    • LiveKd v2.0
    • PsInfo v1.33|
    • PsList v1.21
    • BgInfo v3.0
    • PageDefrag v2.2
    • Regmon v4.34 for Win64/Itanium
    • Sysinternals w PC World Magazine
    • Sysinternals w firmie Microsoft
  3. INFORMACJE WEWNĘTRZNE

    • Mark i David Solomon Teach Internals w Londynie
    • Wewnątrz programowania systemu Windows NT
    • Gdy zmiana nie jest liczone
    • .NET Server RC1
    • Ładowanie skryptów usługi WMI
    • Używanie funkcji BootVis do profilowania procesu rozruchu
  4. CO SIĘ DZIEJE

    • Szybkie wprowadzenie do analizy zrzutu awaryjnego

SPONSOR: WINTERNALS SOFTWARE

Biuletyn Sysinternals jest sponsorowany przez Winternals Software, w Sieci Web http://www.winternals.com. Winternals Software jest wiodącym deweloperem i dostawcą zaawansowanych narzędzi systemów dla systemu Windows NT/2K/XP. Produkty Winternals Software obejmują FAT32 dla systemu Windows NT 4.0, NTFSDOS Professional Edition (sterownik NTFS do odczytu/zapisu dla SYSTEMU DOS) i Remote Recover. Winternals jest dumny z ogłoszenia Defrag Manager w wersji 2.0, najszybszej, najbardziej dokładnej dostępnej defragmentatora przedsiębiorstwa. Teraz można zarządzać harmonogramami defragmentacji w całym przedsiębiorstwie systemu Windows za pomocą prostego przystawki MMC — nawet bez konieczności instalowania dowolnego oprogramowania klienckiego w systemach NT lub Windows 2000. Odwiedź stronę http://www.winternals.com/es , aby uzyskać więcej informacji lub poprosić o bezpłatną 30-dniową wersję próbną.

Witam wszystkich,

Witamy w biuletynie Sysinternals. Biuletyn ma obecnie 35 000 subskrybentów.

Prawdopodobnie słyszałeś o nadchodzącym procesorze Hammer FIRMY AMD (teraz formalnie ogłoszonym jako "Opteron"), który zostanie wydany pod koniec tego roku. Z Hammer, AMD bierze wojnę z Intel z 32-bitowego pola do 64-bitowego pola. Myślę, że Intel powinien być przestraszony, a ja powiem, dlaczego.

Itanium jest wejściem intela do 64-bitowej przestrzeni i obejmuje zgodność binarną x86 jako sposób na złagodzenie migracji. Itanium jest na rynku od prawie dwóch lat, ale nie udało się wprowadzić, nawet z HP-UX, Linux, Windows XP 64-bit Edition i Windows Advanced Server 64-bit edition obsługuje go. Branża szacuje projekt Itaniums, ponieważ sprzedał tylko kilka tysięcy jednostek i moim zgadywaniem jest to, że niedawno wydany Itanium II nie poprawi tempa wdrażania.

Jakie są przyczyny przygnębienia Itanium pokazane do tej pory? Wierzę, że głównym czynnikiem jest to, że Itanium i cała strategia 64-bitowa Intela opiera się na nowej architekturze typu RISC, a z wyjątkiem zgodności binarnej x86 bolted na to, Itanium jest po prostu kolejnym procesorem 64-bitowym wśród Alpha, PA-RISC, Sparc64 i PowerPC. Mimo że platforma Itanium obsługuje istniejące aplikacje 32-bitowe x86, te aplikacje mają znaczne obniżenie wydajności w porównaniu z natywnymi aplikacjami 64-bitowymi. Oznacza to, że należy upewnić się, że wszystkie aplikacje, które mają być uruchamiane z rozsądną wydajnością na itanium, są portowane do 64 bitów.

Hammer, z drugiej strony, jest ewolucją, która naturalnie rozszerza architekturę x86 i instrukcje ustawione na 64 bity. Jest w stanie uruchamiać aplikacje 32-bitowe i aplikacje 64-bitowe jednocześnie na praktycznie tych samych poziomach wydajności. Ponadto można uruchomić Hammer w trybie pełnym 32-bitowym, co wydaje się być standardowym systemem x86 zdolnym do uruchamiania 32-bitowego systemu operacyjnego. Nie tylko, ale Hammer obsługuje tryby 16-bitowe x86 i może używać standardowego 32-bitowego kodu x86 BIOS nawet podczas rozruchu do 64-bitowego systemu operacyjnego. Oznacza to, że system rozruchu podwójnego z 32-bitowym systemem operacyjnym można wybrać jako jeden wybór i 64-bitowy system operacyjny jako inny.

Wierzę, że podejście AMD oferuje ogromną przewagę nad kierunkiem, który Intel wziął z Itanium. Firma AMD może rozpocząć sprzedaż Hammer, gdy tylko jest dostępna dla klientów, którzy mogą nie być całkiem gotowi, aby przejść do 64 bitów lub mieć tylko jedną aplikację, która może korzystać z 64-bitowej maszyny. 32-bitowe aplikacje mogą w pełni wykorzystać innowacje wydajności, które AMD wprowadza w Hammer, a jeśli ceny AMD Hammer blisko 32-bitowych cen procesora CPU decyzja zakupu może być bez mózgów. Powinno to umożliwić amd infiltrację na platformie handlowej przy użyciu procesorów 64-bitowych z niskiego poziomu. Kontrastuje to z podejściem wysokiej klasy firmy Intel — strategią, która może być znacznie bardziej ryzykowna i trwa znacznie dłużej. Wierzę, że Hammer daje AMD możliwość skradania się i stać się de facto 64-bitową platformą.

Co z krawędzią wydajności, którą intel może twierdzić, że "czyste" architektury Itanium jawnie równoległe przetwarzanie instrukcji (EPIC) zapewnia ponad x86-64 firmy AMD? Będziemy musieli czekać i zobaczyć, ale AMD do tej pory dał Intel uruchomić za swoje pieniądze na 32-bitowej arenie. A jeśli spojrzysz na to, jak Itanium II porównuje się z najlepszymi procesorami x86 (zobacz www.spec.org), znajdziesz je dość równomiernie dopasowane na wydajności całkowitej, a Itanium ma 50-75% przewagi w zmiennoprzecinku. Jest to pomimo tego, że Itanium jest mniej więcej dwa razy droższe. Na przykład niski system Itanium II z Hewlett Packard kosztuje 5865 USD i system Hewlett Packard Pentium IV działający na 2GHz w równoważnych kosztach konfiguracji tylko 2385 USD.

Gdzie AMD dostał pomysł na rozszerzenie architektury x86, a nie zdefiniować nowego z zgodnością x86 jako funkcji? Gdy intel przeniósł się do świata 32-bitowego, zrobił to, rozszerzając 16-bitową architekturę x86 i instrukcje ustawione na 32-bitową wersję, która może również uruchamiać aplikacje 16-bitowe. W rezultacie 32-bitowe procesory x86 mogą uruchamiać 16-bitowe i 32-bitowe systemy operacyjne. Jednak firma Intel nie korzystała z tego podejścia ze strategią 64-bitową. Może to być spowodowane tym, że w połowie lat 90-tych widział sufit szybko zbliża się do x86 pod względem wydajności, biorąc pod uwagę złożoność projektu, i czuł, że świeży projekt może pójść dalej w przyszłość. Dzisiaj zarówno Intel, jak i AMD udowodniły to założenie źle z ich zadziwiającą szybkością zegara x86 - Intel pokazał Pentium IV działający na 4 GHz. Intel może zapłacić cenę za błędne obliczenie.

Przekaż biuletyn do znajomych, którzy mogą cię zainteresować.

Dziękujemy.

-Mark

CO NOWEGO W SYSINTERNALS

TCPVIEW V2.21

TCPView to aplikacja, która była w witrynie Sysinternals od kilku lat, ale do czasu ostatniej aktualizacji 2.0 nie była to znacznie więcej niż wersja graficznego interfejsu użytkownika narzędzia wiersza polecenia netstat systemu Windows. Ta główna poprawka przynosi mnóstwo zaawansowanych funkcji, z których najważniejsze jest wyświetlanie na NT 4, Windows 2000 i Windows XP procesu, który jest właścicielem każdego punktu końcowego TCP i UDP. Można również wyświetlić dane wersji procesu i ścieżkę pliku wykonywalnego, a także zakończyć nieautoryzować procesy. Funkcja, która jest przydatna, jeśli chcesz zatrzymać aplikację przed użyciem określonego portu, jest możliwość zamykania połączeń na bieżąco bez przerywania procesu.

W obszarze interfejsu użytkownika najnowsza wersja wprowadza automatyczne odświeżanie w wybranych interwałach i wyróżnianiu różnic. Wyróżnianie różnic, które pomaga powiększyć działanie w miarę jego działania, opisuje wyróżnianie kolorów nowych i usuniętych elementów, co przeniesiono z Eksploratora procesów.

Pobierz widok TCPView w wersji 2.21 pod adresem
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

LIVEKD V2.0

Jednym z narzędzi David Solomon i ja zawarte na CD naszej książki Inside Windows 2000 (patrz http://www.sysinternals.com/insidew2k.shtml ) jest LiveKd. LiveKd to fronton debugerów jądra firmy Microsoft, który umożliwia uruchamianie debugerów w celu interakcji z systemem na żywo. Korzystanie z debugera w celu przyjrzenia się systemowi bez konieczności używania drugiego komputera i połączenia debugowania szeregowego sprawia, że eksplorowanie wewnętrznych jest łatwe, a nawet może służyć jako pomoc w rozwiązywaniu problemów. Pierwsza wersja rozwiązania LiveKd obsługiwana tylko w systemach NT 4 i Windows 2000-LiveKd w wersji 2.0 działa w systemie Windows XP.

Mimo że firma Microsoft śledziła moją przewagę i dodała możliwości debugowania jądra na żywo do systemu Windows XP, kilka poleceń debugowania nie działa po uruchomieniu w systemie na żywo, dlatego poszedłem do problemu z aktualizacją LiveKd do pracy w systemie Windows XP.

Przykładem są dane wyjściowe stosu z poleceń !process lub !thread. Funkcja LiveKd pokazuje kompletny stos jądra, natomiast korzystanie z wbudowanej funkcji debugowania na żywo XP nie jest. Innym przykładem jest polecenie !stacks, którego można użyć, aby zobaczyć, gdzie wątki są obecnie wykonywane i gdzie mogły rozpocząć wykonywanie. Polecenie !stacks przydaje się podczas debugowania problemu, który obejmuje wątki systemowe i chce określić ich przeznaczenie - wiedząc, że sterownik, w którym jest wykonywany wątek, może być wskazówką, którą należy rozwiązać problem.

Pobierz poprawkę LiveKd w wersji 2.0 pod adresem
http://www.sysinternals.com/insidew2k.shtml
Należy pamiętać, że będzie potrzebna kopia pliku LiveKd z płyty CD książki, do której ma być stosowana poprawka.

PSINFO V1.33

PsInfo, jeden z kilkunastu narzędzi, które składają się na pakiet PsTools wiersza polecenia, zdalnie zdolny, Windows NT/2000/XP narzędzia administracyjne, nadal ewoluują w oparciu o opinie użytkowników. Wersja 1.33 dodaje możliwość wyświetlania listy zainstalowanych poprawek i aplikacji, a także do raportowania etykiet, rozmiaru i danych użycia dla woluminów dysku komputera.

Pobierz plik PsInfo w wersji 1.33 pod adresem
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Pobierz cały pakiet PsTools pod adresem
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

PSLIST V1.21

Jeśli chcesz użyć wiersza polecenia lub kiedykolwiek chcesz uzyskać listę procesów dla komputera (lokalnego lub zdalnego) z danymi użycia procesora CPU, będziesz zainteresowany najnowszą wersją programu PsList, innym członkiem pakietu PsTools. Program PsList w wersji 1.2 wprowadza przełączniki wiersza polecenia, które uruchamiają je w trybie menedżera zadań w oknie poleceń, aktualizując w konfigurowalnym interwale i wyświetlając użycie procesora CPU. Inny nowy przełącznik ma wcięcie PsList, aby pokazać relacje nadrzędny-podrzędny procesu, co jest czasami przydatne w zrozumieniu przeznaczenia procesów, które mają problemy z identyfikacją.

Pobierz plik PsList w wersji 1.21 pod adresem
http://www.sysinternals.com/ntw2k/freeware/pslist.shtml
Pobierz cały pakiet PsTools pod adresem
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

BGINFO V3.0

Zarządzanie więcej niż jednym systemem zwykle oznacza konieczność radzenia sobie z irytacji przy użyciu lepkich notatek lub otwierania narzędzi informacyjnych systemu w celu określenia specyfikacji i konfiguracji systemu. BgInfo to narzędzie, które wyświetla standardowe i niestandardowe informacje o systemie, które można określić bezpośrednio na pulpicie, zapewniając błyskawicznie wszystkie dane, które należy wziąć pod uwagę.

BgInfo jest już wszechstronny, dzięki czemu można określić dowolny wstępnie zdefiniowany zestaw wartości lub bezpośrednio BgInfo, aby uzyskać wartości z rejestru lub z plików. BgInfo w wersji 3.0 dodaje jeszcze więcej możliwości dostosowywania, wprowadzając obsługę skryptów języka Visual Basic, dzięki czemu można tworzyć skrypty, które przechwytują niestandardowe ustawienia konfiguracji i zgłaszają je bginfo na potrzeby prezentacji.

Pobierz BgInfo v3.0 pod adresem
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

PAGEDEFRAG V2.2

Czy plik stronicowania, pliki rejestru lub pliki dziennika zdarzeń stają się coraz bardziej fragmentowane? Wbudowany defragmentator nie obsługuje tych plików, ponieważ należy je defragmentować w czasie rozruchu przed uruchomieniem systemu operacyjnego. PageDefrag to lekki defragmentator z jednym celem defragmentacji tych krytycznych plików systemowych.

PageDefrag w wersji 2.2 zawiera obsługę systemu Windows XP i umożliwia określenie czasomierza odliczania wyświetlanego przed defragmentowaniem. Czasomierz działa jak ten chkdsk implementuje, gdzie naciśnięcie dowolnego klawisza podczas odliczania przerywa defragment.

Pobierz plik PageDefrag w wersji 2.2 pod adresem
http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml

REGMON V4.34 dla WIN64/ITANIUM

W zeszłym roku Microsoft pożyczył mi system Itanium, abym mógł portować narzędzia Sysinternals do Win64. Nie wszystkie narzędzia wymagają przenoszenia, ponieważ większość aplikacji 32-bitowych działa bez zmian w itanium z systemem Windows XP w wersji 64-bitowej przy użyciu 32-bitowej zgodności binarnej Itanium. Jednak wersja 64-bitowa systemu Windows XP nie będzie ładować sterowników 32-bitowych, co oznacza, że każde narzędzie Sysinternals, które ma składnik sterownika, musi mieć co najmniej sterownik portowany do 64-bitowych.

Pierwszym narzędziem, które zostało przeniesione, było Filemon. Port Filemona był stosunkowo prosty, ponieważ wszystko, co wymagało zmiany sterownika i źródła graficznego interfejsu użytkownika w celu zachowania zgodności z regułami typów danych 64-bitowych, a następnie ponownej kompilacji. Opisałem proces przenoszenia w ostatnim biuletynie. Port regmona zawierał te same problemy z typem danych, ale obejmował inne problemy, które znacznie utrudniły przenoszenie.

Regmon opiera się na sterowniku, który poprawia tabelę wywołań systemowych w jądrze za pomocą procedur przechwytywania Regmon, dzięki czemu może monitorować aktywność rejestru. Aby skrócić długą historię, interfejs wywołania systemu na Itanium ma cechy zależne od procesora, które sprawiają, że podejście używane w sterowniku 32-bitowym jest bezużyteczne. Dlatego musiałem użyć trudnego kodowania, aby uzyskać przechwytywanie wywołań systemowych do pracy na 64-bitowych XP.

Na szczęście firma Microsoft zaimplementowała interfejs wywołania zwrotnego działań rejestru w jądrze systemu Windows .NET Server, który sprawia, że technika Regmon używa do obserwowania niepotrzebnego działania rejestru. Poszukaj aktualizacji Regmon w najbliższej przyszłości, która demonstruje nowy interfejs API platformy .NET Server systemu Windows i opis interfejsu API w biuletynie.

Pobierz regmon v4.34 pod adresem
http://www.sysinternals.com/ntw2k/source/regmon.shtml

SYSINTERNALS W MAGAZYNIE PC WORLD

Regmon i Filemon zarówno dostał ładne wtyczki w sierpniowym wydaniu PC World, wysokiej obiegu magazynu komputerowego, jak zalecane narzędzia do rozwiązywania problemów. Przeczytaj więcej na stronie http://www.pcworld.com/features/article/0,aid,101750,00.asp

SYSINTERNALS AT WWW.MICROSOFT.COM

Oto najnowsza wersja odwołań sysinternals w artykułach bazy wiedzy Microsoft Knowledge Base (KB) wydanych od ostatniego biuletynu. Spowoduje to 38 całkowitej liczby odwołań KB do programu Sysinternals.

  • INSTRUKCJE: Tworzenie niestandardowych szablonów Administracja istracyjnych w systemie Windows 2000
    http://support.microsoft.com/default.aspx?scid=kb; EN-US; q323639

  • Opóźnienia logowania za pośrednictwem wolnych linków, jeśli nie udzielono oplock dla pliku zasad
    http://support.microsoft.com/default.aspx?scid=kb; EN-US; q319440

  • XCON: Proces MTA przecieka pamięci z dużą liczbą http://support.microsoft.com/default.aspx?scid=kbdojść; EN-US; q313735

Ponadto firma Microsoft uhonorowała program Sysinternals jako obecnie polecaną witrynę społeczności systemu Windows XP Embedded! Wymelduj się http://www.microsoft.com/windows/embedded/community/default.asp

INFORMACJE WEWNĘTRZNE

MARK I DAVID SOLOMON UCZĄ WEWNĘTRZNYCH W LONDYNIE

Posłuchaj mnie i David Solomon przedstawić naszą 3-dniową klasę wewnętrzną systemu Windows 2000/XP/.NET Server w Londynie 23-25 września (następna klasa to 9-11 grudnia w Austin, TX). W oparciu o "Inside Windows 2000, 3rd Edition", obejmuje architekturę jądra i interrelationship kluczowych składników systemowych i mechanizmów, takich jak wątki systemowe, wysyłanie wywołań systemowych, obsługa przerwań i uruchamianie i zamykanie. Objaśnienia wewnętrzne podsystemów kluczy obejmują procesy i wątki, planowanie wątków, zarządzanie pamięcią, zabezpieczenia, system we/wy, system NTFS i menedżera pamięci podręcznej. Dzięki zrozumieniu działania wewnętrznego systemu operacyjnego można efektywniej i efektywniej debugować i rozwiązywać problemy z platformą.

Aby uzyskać więcej informacji, zobacz http://www.sysinternals.com/seminar.shtml

WEWNĄTRZ PROGRAMOWANIA SYSTEMU WINDOWS NT

Ta prezentacja jest kilka lat, ale jest to jednak ciekawy wygląd w historii programowania systemu Windows NT 3.1 do Windows 2000. Mark Lucovsky, jeden z oryginalnych inżynierów oprogramowania NT, wygłosił prezentację na dorocznej konferencji technicznej USENIX w 2000 roku. Opisuje rozmiar zespołów programistycznych, współczynniki wad (z kodu, który napisali, a nie członkowie), system kontroli źródła i wyzwania związane z programowaniem zespołowym.

Zobacz przemówienie Marka Lucovsky'ego o historii rozwoju NT na http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/

Na powiązanej notatce poniżej znajduje się historia systemu Windows firmy Microsoft z okna 1.0 do systemu Windows .NET Server: http://www.microsoft.com/windows/WinHistoryIntro.asp

GDY ZMIANA NIE JEST LICZNA

System Windows śledzi kilka sygnatur czasowych plików i katalogów. Obejmują one tworzenie, ostatni dostęp i ostatnią modyfikację. Znacznik czasu ostatniej modyfikacji jest udokumentowany jako rejestrowanie czasu ostatniego zapisania pliku. Niestety, aplikacja, która opiera się na tym, że jest prawdziwa, będzie w paskudnym zaskoczeniu.

Jeśli aplikacja otworzy plik przy użyciu interfejsu API CreateFile, a następnie zapisuje go za pośrednictwem pliku WriteFile lub jego wariantów, czas ostatniej modyfikacji będzie odzwierciedlać czas ostatniej modyfikacji pliku. Jeśli aplikacja otworzy plik dla zamapowanego we/wy w pamięci przy użyciu polecenia CreateFileMapping , MapViewOfFilea następnie modyfikuje plik, zmieniając zamapowaną zawartość, dane zostaną ostatecznie zapisane z powrotem do pliku przez Menedżera pamięci, a wersja dysku zostanie zmodyfikowana. Problem polega na tym, że sterowniki systemu plików nie aktualizują czasu ostatniej modyfikacji pliku, gdy modyfikacja występuje w wyniku zamapowanego na pamięć zapisu.

Dlaczego nie? Zakładam, że deweloperzy wyciąć rogu na rzecz wydajności, ale zachowanie nie jest udokumentowane, więc mogę tylko spekulować. Myślę, że wszystkie zapisy nie są tworzone równe.

.NET SERVER RC 1

System Windows .NET Server RC 1 został dostarczony i istnieje szansa, że firma Microsoft obniży jego rtm (release to Manufacturing) kompilacji nowego systemu operacyjnego serwera do końca roku (o tej samej szansie, co uzyskanie bitu przez węża i rekina w tym samym roku). Z perspektywy jądra nie ma znaczącej zmiany z systemu Windows XP. Nie ma żadnych głównych nowych podsystemów jądra, win32 lub interfejsów API jądra — po prostu poprawki zwiększające wydajność w dużych systemach i kilka interfejsów API, które zaokrąglają istniejące zestawy interfejsów API.

Istnieją jednak duże zmiany w przestrzeni użytkownika. Największa jest oczywiście platforma .NET, ale istnieją również nowe usługi zorientowane na serwer. Usługa kopiowania woluminów w tle, wprowadzona w systemie Windows XP do tworzenia kopii zapasowych, jest używana w celu zapewnienia użytkownikom klienckim możliwości wycofywania plików w udziałach serwera do poprzednich wersji. Nie jest wymagana interakcja administratora, ponieważ użytkownik może po prostu wybrać żądany wpis na liście historii plików pokazanej na nowej karcie właściwości pliku Eksploratora.

Ulepszenia sieci serwera to Winsock Direct, infrastruktura, która umożliwia aplikacjom na serwerze w konfiguracji wielowarstwowej z wyspecjalizowanymi połączeniami sieciowymi, konfiguracją o nazwie System Area Network (SAN), aby komunikować się bezpośrednio ze sprzętem sieciowym, pomijając stos TCP/IP i jądro.

Poszukaj nadchodzącego artykułu Davida Solomona i ja, który opisuje zmiany na poziomie systemu .NET Server. Obejmujemy również program .NET Server w następnej wersji systemu Windows 2000, która ma być nazywana Windows Internals, ze względu na publikację wiosną przyszłego roku.

ŁADOWANIE SKRYPTÓW USŁUGI WMI

Jeśli podoba Ci się pakiet PsTools z sysinternals, prawdopodobnie jesteś skryptem junky, a jeśli twoje systemy korzystają z systemu Windows 2000 lub XP, lub masz zainstalowane podstawowe składniki NT 4 WMI, to należy udać się do witryny TechNet firmy Microsoft i pobrać bezpłatne przykładowe skrypty usługi WMI, które zostały tam opublikowane. Istnieje duża kolekcja i są one podzielone na kategorie, takie jak zarządzanie komputerem i sieć, i można je pobrać pojedynczo lub wszystkie naraz.

Pobierz bezpłatne przykładowe skrypty WMI w http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scrip centrum/sampscr.asp

Mówiąc o freebies firmy Microsoft, możesz znaleźć podzbiór narzędzi zestawu Zasobów systemu Windows 2000 opublikowanych do pobrania. Odwiedź witrynę http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp

PROFILOWANIE PROCESU ROZRUCHU PRZY UŻYCIU FUNKCJI BOOTVIS

Okresowo otrzymuję żądania tworzenia narzędzia dla programu Sysinternals, które monitoruje proces rozruchu, aby użytkownik mógł określić, jakie przyczyny mogą wystąpić opóźnienia. Na szczęście czekałem wystarczająco długo, że Microsoft mnie do niego pokonał. Narzędzie, które napisali, nosi nazwę BootVis i pełni ważną rolę w optymalizacji wydajności rozruchu zaimplementowanych dla systemu Windows XP. Możesz pobrać go z witryny http://www.microsoft.com/HWDEV/PLATFORM/performance/fastboot/BootVis.asp . BootVis, który działa tylko w systemie Windows XP, używa funkcji śledzenia jądra WMI xp do zbierania szczegółowego śladu procesu rozruchu, w tym użycia procesora CPU, operacji we/wy dysku, uruchamiania procesów i we/wy sterowników. Wywoływanie pliku pomocy, który jest dostarczany z bootVis terse jest uprzejme, więc omówię sposób korzystania z narzędzia.

Jeśli chcesz mieć możliwość dokładnego sprawdzenia, jakie funkcje mają sterowniki i moduły dla czasu procesora CPU, otwórz narzędzia |Opcje okna dialogowego i wskaż bootVis na zainstalowanych symbolach systemu Windows XP. Następnie funkcja BootVis przechwytuje ślad następnego rozruchu, w tym opóźnienia sterowników, wybierając pozycję Ślad|Następne opóźnienia rozruchu i sterownika. Funkcja BootVis będzie odliczać, a następnie ponownie uruchomić system.

Po uruchomieniu systemu zaloguj się i uruchom ponownie bootVis. Wybierz pozycję Ślad|Zatrzymaj śledzenie i wyodrębni ślad zbierany z jądra i zapisze go w pliku, który następnie ładuje do wyświetlania. Zobaczysz cztery wykresy. W obszarze Użycie procesora zobaczysz ścieżkę wykorzystania procesora CPU przez rozruch. Wykres słupkowy We/Wy dysku przedstawia liczbę odczytów dysku (czerwony) i zapis (niebieski), które wystąpiły podczas każdej sekundy. Na wykresie Opóźnienie sterownika zobaczysz prostokąty reprezentujące we/wy sterowników, które miały czasy trwania większe niż domyślne odcięcie BootVis 100 milisekund — takie opóźnienia są uważane za znaczące. Na koniec na wykresie Process Tworzy są wyświetlane prostokąty z etykietami, w których uruchomiono procesy.

BootVis nie musi wyświetlać wszystkich danych śledzenia zebranych podczas jego uruchamiania, więc użyj przycisku powiększenia, aż zaczniesz widzieć prawą krawędź danych grafowych. Teraz przyjrzyj się każdemu wykresowi. Jeśli widzisz wzrost użycia procesora CPU lub dysku lub chcesz powiększyć działanie uruchamiania procesu, użyj przycisku powiększenia paska narzędzi. Pamiętaj, że wyświetlany czas rozpoczęcia pozostanie 0 po powiększeniu, więc po powiększeniu ręcznie wprowadź czas w pobliżu działania, w którym interesuje Cię pole edycja Czas wyświetlania.

Wykresy Użycie procesora CPU, We/Wy dysku i Opóźnienie sterownika umożliwiają wyświetlanie większej ilości informacji niż jest natychmiast widoczne. Wybierz region na wykresie zainteresowania, przesuwając kursor, naciskając lewy przycisk myszy i trzymając go w dół, a następnie przeciągając. Następnie kliknij prawym przyciskiem myszy, aby pobrać menu. Interesującą opcją menu na wykresie Użycie procesora CPU jest Pokaż podsumowanie, które powoduje otwarcie okna dialogowego z listą podziałów według procesu użycia procesora CPU dla wybranego interwału czasu. Po dwukrotnym kliknięciu jednego z procesów zostanie otwarte inne okno dialogowe z podziałem użycia procesora CPU przez moduł (np. biblioteki DLL w procesie). Jeśli masz skonfigurowane symbole, możesz nawet dwukrotnie kliknąć moduł i uzyskać okno dialogowe z podziałem użycia procesora CPU tego modułu według funkcji.

Po kliknięciu wybranego regionu na grafie We/Wy dysku są wyświetlane dwa elementy menu: Pokaż tabelę podsumowania i Pokaż wykres szczegółów. Wybierz pozycję Pokaż tabelę podsumowania, aby wyświetlić ewidencjonowanie aktywności, podzielone według modułu, wszystkich operacji we/wy, które wystąpiły w interwale. Wybierz pozycję Pokaż wykres szczegółów, aby wyświetlić wykres liniowy reprezentujący rzeczywiste sektory na dysku, do którego uzyskiwano dostęp w danym interwale. Wykres szczegółów kojarzy nawet operacje we/wy z procesami, które je wykonały, i umożliwia filtrowanie procesów przez usunięcie ich zaznaczenia na liście po lewej stronie. Możesz wybrać region na wykresie szczegółów i uzyskać dostęp do innego wykresu podsumowania dla tego podinterwalu, klikając prawym przyciskiem myszy i wybierając wynikowy element menu.

Wybranie pozycji Pokaż tabelę podsumowania z menu kontekstowego wykresu Opóźnienia sterownika powoduje wyświetlenie listy we/wy pokazanych w wybranym regionie, który zawiera nazwę sterownika, który wykonał operacje we/wy, początek, koniec i całkowity czas każdego we/wy oraz wykonaną funkcję We/Wy.

To prowadzi mnie do końca mojego samouczka BootVis. Chociaż nie jest to najbardziej dopracowane narzędzie, po odtwarzaniu z BootVis na chwilę nie zgodzisz się ze mną, że poziom szczegółów widocznych z jego grafów jest niesamowity. Następnym razem, gdy masz długi rozruch i chcesz wiedzieć, co jest odpowiedzialne, będziesz wiedzieć, gdzie włączyć odpowiedź.

CO SIĘ DZIEJE

SZYBKIE WPROWADZENIE DO ANALIZY ZRZUTU AWARYJNEGO

Ostatnie ulepszenia firmy Microsoft w narzędziach debugowania jądra sprawiły, że analiza zrzutu awaryjnego praktycznie bezbolesna. Następnym razem pokażę, jak stać się profesjonalistą analizy zrzutu w ciągu poniżej godziny.


Dziękujemy za przeczytanie biuletynu Sysinternals.

Opublikowano poniedziałek, 12 sierpnia 2002 19:00 przez ottoh

[Archiwum biuletynów ^][< Wolumin 4, Numer 1][Wolumin 4, Liczba 3 >]