[Newsletter-Archiv ^] [< Band 4, Nummer 1] [Band 4, Nummer 3 >]
Der Systems Internals Newsletter, Band 4, Nummer 2
http://www.sysinternals.com
Copyright (C) 2002 Mark Russinovich
12. August – In dieser Ausgabe:
LEITARTIKEL
NEUIGKEITEN BEI SYSINTERNALS
- TCPView v2.21
- LiveKd v2.0
- PsInfo v1.33
- PsList v1.21
- BgInfo v3.0
- PageDefrag v2.2
- Regmon v4.34 für Win64/ITANIUM
- Sysinternals im PC World Magazine
- Sysinternals bei Microsoft
INTERNALS-INFORMATIONEN
- Mark und David Solomon lehren Internals in London
- Einblick in die Windows NT-Entwicklung
- Wenn eine Änderung nicht zählt
- .NET Server RC1
- Unzählige WMI-Skripts
- Verwenden von BootVis für die Profilerstellung des Startprozesses
BALD VERFÜGBAR
- Schnelle Einführung in die Absturzabbildanalyse
SPONSOR: WINTERNALS SOFTWARE
Der Sysinternals-Newsletter wird von Winternals Software gesponsert (im Web unter http://www.winternals.com.). Winternals Software ist der führende Entwickler und Anbieter von erweiterten Systemtools für Windows NT/2000/XP. Zu den Produkten von Winternals Software zählen FAT32 für Windows NT 4.0, NTFSDOS Professional Edition (ein NTFS-Treiber mit Lese-/Schreibzugriff für DOS) und Remote Recover. Winternals ist stolz darauf, Defrag Manager Version 2.0 vorzustellen, das schnellste und gründlichste Defragmentierungstool für Unternehmen. Jetzt können Sie Defragmentierungszeitpläne in Ihrem gesamten Windows-Unternehmen über ein einfaches MMC-Snap-In verwalten, ohne dass Sie Clientsoftware auf Ihren NT- oder Windows 2000-Systemen installieren müssen. Besuchen Sie http://www.winternals.com/es, um weitere Informationen zu erhalten oder eine kostenlose 30 Tage gültige Testversion anzufordern.
Guten Tag,
Willkommen beim Sysinternals-Newsletter. Der Newsletter hat derzeit 35.000 Abonnenten.
Wahrscheinlich haben Sie schon von AMDs kommendem Hammer-Prozessor (jetzt offiziell als „Opteron“ angekündigt) gehört, der Ende des Jahres auf den Markt kommen soll. Mit Hammer verlagert AMD seinen Kampf gegen Intel vom 32-Bit-Bereich in den 64-Bit-Bereich. Ich denke, Intel sollte Angst haben, und ich werde Ihnen sagen, warum.
Itanium ist Intels Einstieg in den 64-Bit-Bereich und bietet x86-Binärkompatibilität, um die Migration zu vereinfachen. Der Itanium ist seit fast zwei Jahren auf dem Markt, konnte sich jedoch nicht durchsetzen, obwohl er von HP-UX, Linux, Windows XP 64-Bit-Edition und Windows Advanced Server 64-Bit-Edition unterstützt wird. Schätzungen der Industrie gehen davon aus, dass von Itanium nur ein paar Tausend Stück verkauft wurden, und ich vermute, dass der kürzlich veröffentlichte Itanium II die Bereitstellungsrate nicht verbessern wird.
Was sind die Gründe für das bisher deprimierende Abschneiden von Itanium? Ich glaube, der Hauptfaktor ist, dass Itanium und Intels gesamte 64-Bit-Strategie auf einer neuen RISC-Architektur basiert, und mit Ausnahme der zusätzlichen x86-Binärkompatibilität ist Itanium nur ein weiterer 64-Bit-Prozessor neben Alpha, PA-RISC, Sparc64 und PowerPC. Und obwohl Itanium vorhandene x86-32-Bit-Anwendungen unterstützt, leiden diese Anwendungen im Vergleich zu nativen 64-Bit-Anwendungen unter erheblichen Leistungseinbußen. Dies bedeutet, dass Sie sicherstellen müssen, dass alle Anwendungen, die Sie mit angemessener Leistung mit Itanium ausführen möchten, auf 64-Bit portiert werden.
Hammer hingegen ist eine Weiterentwicklung, die die x86-Architektur und den Befehlssatz auf natürliche Weise auf 64-Bit erweitert. Diese Lösung ist in der Lage, 32-Bit-Anwendungen und 64-Bit-Anwendungen parallel mit praktisch den gleichen Leistungsstufen auszuführen. Darüber hinaus können Sie Hammer in den vollständigen 32-Bit-Modus starten, sodass der Eindruck entsteht, dass es sich um ein x86-Standardsystem handelt, auf dem ein 32-Bit-Betriebssystem ausgeführt werden kann. Darüber hinaus unterstützt Hammer x86-16-Bit-Modi und kann standardmäßigen 32-Bit-x86-BIOS-Code selbst dann verwenden, wenn Sie in ein 64-Bit-Betriebssystem starten. Dies bedeutet, dass Sie über ein Dual-Boot-System mit einem 32-Bit-Betriebssystem als Auswahl und einem 64-Bit-Betriebssystem als andere Auswahl verfügen können.
Ich glaube, dass der Ansatz von AMD einen großen Vorteil gegenüber der Richtung bietet, die Intel mit Itanium eingeschlagen hat. AMD kann mit dem Verkauf von Hammer beginnen, sobald der Prozessor für Kunden verfügbar ist, die noch nicht ganz bereit sind, auf 64-Bit umzusteigen, oder die nur eine Anwendung haben, die die Vorteile eines 64-Bit-Computers nutzen kann. 32-Bit-Anwendungen können die Leistungsinnovationen, die AMD in Hammer integriert hat, in vollem Umfang nutzen, und wenn AMD die Preise für Hammer in der Nähe der Preise für 32-Bit-CPUs ansiedelt, könnte die Kaufentscheidung zum Kinderspiel werden. Dies sollte es AMD ermöglichen, den Markt mit seinen 64-Bit-Prozessoren vom unteren Ende her zu erobern. Im Gegensatz dazu steht Intels High-End-Ansatz – eine Strategie, die wahrscheinlich viel riskanter ist und viel länger dauert. Ich glaube, dass Hammer AMD die Möglichkeit gibt, sich durchzusetzen und de facto zur 64-Bit-Plattform zu werden.
Wie sieht es mit dem Leistungsvorsprung aus, den Intel durch die „saubere“ EPIC-Architektur (Explicitly Parallel Instruction Computing) des Itanium gegenüber AMDs x86-64 behauptet? Wir werden abwarten müssen, aber AMD hat Intel im 32-Bit-Bereich bisher einen Strich durch die Rechnung gemacht. Und wenn Sie sich ansehen, wie der Itanium II im Vergleich zu den besten x86-Prozessoren abschneidet (siehe www.spec.org), werden Sie feststellen, dass sie bei der Integerleistung ziemlich gleichauf liegen, wobei der Itanium bei der Fließkommaleistung einen Vorsprung von 50 bis 75 % erzielt. Und das, obwohl Itanium etwa doppelt so teuer ist. So kostet das preisgünstige Itanium II-System von Hewlett Packard 5865 USD und ein Pentium IV-System von Hewlett Packard mit 2 GHz in einer entsprechenden Konfiguration nur 2385 USD.
Wie kam AMD auf die Idee, die x86-Architektur zu erweitern, anstatt eine neue Architektur mit x86-Kompatibilität als Merkmal zu definieren? Als Intel in die 32-Bit-Welt einstieg, geschah dies durch die Erweiterung der 16-Bit-x86-Architektur und des Befehlssatzes, sodass eine 32-Bit-Version entstand, die auch 16-Bit-Anwendungen ausführen konnte. Daher können 32-Bit-x86-Prozessoren sowohl 16-Bit- als auch 32-Bit-Betriebssysteme ausführen. Intel hat diesen Ansatz jedoch nicht mit seiner 64-Bit-Strategie verwendet. Das mag daran liegen, dass Mitte der 90er Jahre die Leistungsgrenze für den x86er angesichts der Komplexität des Designs schnell erreicht war und das Unternehmen der Meinung war, dass ein neues Design weiter in die Zukunft reichen würde. Heute haben sowohl Intel als auch AMD diese Annahme mit ihren erstaunlichen x86-Taktfrequenzen widerlegt – Intel hat einen Pentium IV mit 4 GHz vorgestellt. Intel könnte den Preis für seine Fehleinschätzung zahlen.
Bitte leiten Sie den Newsletter an alle Personen weiter, für die diese Informationen von Interesse sein könnten.
Vielen Dank!
– Mark
NEUIGKEITEN BEI SYSINTERNALS
TCPVIEW V2.21
TCPView ist eine Anwendung, die seit mehreren Jahren auf der Sysinternals-Website zu finden ist, aber bis zum jüngsten Update 2.0 war sie nicht viel mehr als eine GUI-Version des Windows-Befehlszeilentools netstat. Diese umfangreiche Überarbeitung bringt eine Reihe leistungsstarker Features mit sich, von denen die wichtigste die Anzeige des Prozesses, der jeden TCP- und UDP-Endpunkt besitzt, unter NT 4, Windows 2000 und Windows XP ist. Sie können auch die Versionsdaten und den ausführbaren Pfad eines Prozesses anzeigen sowie nicht autorisierte Prozesse beenden. Eine nützliche Funktion, wenn Sie verhindern wollen, dass eine Anwendung einen bestimmten Port verwendet, ist die Möglichkeit, Verbindungen im laufenden Betrieb zu schließen, ohne den Prozess zu beenden.
Im Bereich der Benutzeroberfläche führt die neueste Version die automatische Aktualisierung in wählbaren Intervallen und die Hervorhebung von Unterschieden ein. Das Hervorheben von Unterschieden, das Ihnen hilft, Einblicke in Aktivitäten zu gewinnen, während diese geschehen, beschreibt die farbliche Hervorhebung von neuen und gelöschten Elementen, die ich aus Process Explorer übernommen habe.
Herunterladen von TCPView v2.21 unter
http://www.sysinternals.com/ntw2k/source/tcpview.shtml
LIVEKD V2.0
Eines der Tools, das David Solomon und ich auf der CD zu unserem Buch „Inside Windows 2000“ (siehe http://www.sysinternals.com/insidew2k.shtml) bereitgestellt haben, ist LiveKd. LiveKd ist ein Front-End für die Microsoft-Kerneldebugger, mit dem Sie Debugger ausführen können, um mit einem Livesystem zu interagieren. Die Verwendung eines Debuggers, um ein System zu untersuchen, ohne einen zweiten Computer und eine serielle Debugverbindung verwenden zu müssen, erleichtert die Betrachtung von Interna und kann sogar als Hilfe bei der Fehlersuche dienen. Die erste Version von LiveKd unterstützte nur NT 4 und Windows 2000 – LiveKd Version 2.0 funktioniert unter Windows XP.
Obwohl Microsoft meinem Beispiel gefolgt ist und Windows XP Livekernel-Debugfunktionen hinzugefügt hat, funktionieren einige Debugbefehle nicht, wenn sie auf einem Livesystem ausgeführt werden. Deshalb habe ich mir die Mühe gemacht, LiveKd zu aktualisieren, damit das Tool unter Windows XP funktioniert.
Ein Beispiel ist die Stapelausgabe der Befehle !process oder !thread. LiveKd zeigt den vollständigen Kernelstapel an, während dies bei Verwendung der integrierten XP-Livedebugfunktion nicht der Fall ist. Ein weiteres Beispiel ist der Befehl !stacks, mit dem Sie feststellen können, wo die Threads aktuell ausgeführt werden und wo sie möglicherweise mit der Ausführung begonnen haben. Der !stacks-Befehl ist nützlich, wenn Sie ein Problem debuggen, das Systemthreads betrifft und deren Zweck Sie bestimmen möchten – die Kenntnis des Treibers, in dem ein Thread ausgeführt wird, kann der Hinweis sein, den Sie benötigen, um ein Problem zu beheben.
Herunterladen des LiveKd v2.0-Patches unter
http://www.sysinternals.com/insidew2k.shtml
Beachten Sie, dass Sie eine Kopie von LiveKd von der Buch-CD benötigen, auf die der Patch angewendet werden soll.
PSINFO V1.33
PsInfo, eines der rund ein Dutzend Tools, aus denen die PsTools-Suite der remotefähigen Windows NT/2000/XP-Befehlszeilen-Verwaltungstools besteht, wird basierend auf Benutzerfeedback weiterentwickelt. Version 1.33 bietet die Möglichkeit, installierte Hotfixes und Anwendungen aufzulisten sowie Daten zu Bezeichnung, Größe und Nutzung der Datenträger eines Computers zu melden.
Herunterladen von PsInfo v1.33 unter
http://www.sysinternals.com/ntw2k/freeware/psinfo.shtml
Herunterladen des gesamten PsTools-Pakets unter
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
PSLIST V1.21
Wenn Sie gerne die Befehlszeile verwenden oder sich schon immer gewünscht haben, eine Prozessliste für einen Computer (lokal oder remote) mit Daten zur CPU-Auslastung abzurufen, dann wird Sie die neueste Version von PsList, einem weiteren Mitglied der PsTools-Suite, interessieren. PsList v1.2 führt Befehlszeilenoptionen ein, die die Ausführung in einem Task-Manager-Modus in einem Befehlsfenster ermöglichen und in einem konfigurierbaren Intervall aktualisiert werden und die CPU-Auslastung anzeigen. Ein weiterer neuer Schalter bewirkt, dass PsList Einzüge verwendet, um die Beziehung zwischen übergeordnetem und untergeordnetem Element anzuzeigen. Dies ist manchmal hilfreich, um den Zweck von Prozessen zu verstehen, bei denen Sie Probleme haben,sie zu identifizieren.
Herunterladen von PsList v1.21 unter
http://www.sysinternals.com/ntw2k/freeware/pslist.shtml
Herunterladen des gesamten PsTools-Pakets unter
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml
BGINFO V3.0
Die Verwaltung von mehreren Systemen bedeutet in der Regel, dass Sie sich mit Sticky Notes oder dem Öffnen von Systeminformations-Hilfsprogrammen abmühen müssen, um die Spezifikationen und die Konfiguration eines Systems zu ermitteln. BgInfo ist ein Hilfsprogramm, das standardmäßige und benutzerdefinierte Systeminformationen anzeigt, die Sie direkt auf dem Desktop angeben, sodass Sie auf einen Blick alle Daten erhalten, die Sie für wichtig halten.
BgInfo ist bereits vielseitig und ermöglicht es Ihnen, einen vordefinierten Satz von Werten festzulegen oder BgInfo anzuweisen, Werte aus der Registrierung oder aus Dateien abzurufen. BgInfo v3.0 bietet noch mehr Anpassungsmöglichkeiten durch die Einführung der Unterstützung von Visual Basic-Skripts, sodass Sie Skripts erstellen können, die benutzerdefinierte Konfigurationseinstellungen erfassen und diese an BgInfo zur Darstellung weiterleiten.
Herunterladen von BgInfo v3.0 unter
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml
PAGEDEFRAG V2.2
Haben Sie festgestellt, dass Ihre Auslagerungsdatei, Registrierungsdateien oder Ereignisprotokolldateien immer stärker fragmentiert werden? Die integrierte Defragmentierung verarbeitet diese Dateien nicht, weil sie zur Startzeit defragmentiert werden müssen, bevor das Betriebssystem ausgeführt wird. PageDefrag ist ein einfaches Defragmentierungsprogramm mit dem einzigen Ziel, diese kritischen Systemdateien zu defragmentieren.
PageDefrag Version 2.2 bietet Unterstützung für Windows XP und ermöglicht es Ihnen, einen Countdowntimer festzulegen, den PageDefrag vor der Defragmentierung anzeigt. Der Timer funktioniert wie der von chkdsk implementierte Timer, bei dem das Drücken einer beliebigen Taste während des Countdowns die Defragmentierung abbricht.
Herunterladen von PageDefrag v2.2 unter
http://www.sysinternals.com/ntw2k/freeware/pagedefrag.shtml
REGMON V4.34 für WIN64/ITANIUM
Letztes Jahr überließ mir Microsoft ein Itanium-System, sodass ich die Sysinternals-Tools auf Win64 portieren konnte. Nicht alle Tools müssen portiert werden, da die meisten 32-Bit-Anwendungen ohne Änderungen auf einem Itanium-Computer mit Windows XP 64-Bit Edition ausgeführt werden können, indem die 32-Bit-Binärkompatibilität des Itanium-Computers genutzt wird. Die 64-Bit-Edition von Windows XP kann jedoch keine 32-Bit-Treiber laden, was bedeutet, dass jedes Sysinternals-Tool, das eine Treiberkomponente enthält, zumindest den Treiber auf 64-Bit portiert haben muss.
Das erste Hilfsprogramm, das ich portiert habe, war Filemon. Die Portierung von Filemon war relativ einfach, da lediglich der Treiber und der GUI-Quellcode an die 64-Bit-Datentypregeln angepasst und neu kompiliert werden mussten. Ich habe den Portierungsprozess im letzten Newsletter beschrieben. Für die Portierung von Regmon galten dieselben Datentypprobleme, aber auch andere Probleme, die die Portierung erheblich erschwerten.
Regmon stützt sich auf einen Treiber, der die Systemaufruftabelle im Kernel mit Regmon-Abfangroutinen ausstattet, sodass die Registrierungsaktivitäten überwacht werden können. Um es kurz zu machen: Die Systemaufrufschnittstelle auf dem Itanium-Computer besitzt prozessorabhängige Merkmale, die den von mir im 32-Bit-Treiber verwendeten Ansatz unbrauchbar werden lassen. Daher musste ich eine komplizierte Codierung verwenden, damit das Abfangen von Systemaufrufen unter 64-Bit-XP funktioniert.
Glücklicherweise hat Microsoft eine Rückrufschnittstelle für Registrierungsaktivitäten in den Windows .NET Server-Kernel implementiert, die die von Regmon verwendete Technik zur Überwachung der Registrierungsaktivitäten überflüssig macht. Erwarten Sie in naher Zukunft ein Regmon-Update, das die neue Windows .NET Server-API vorstellt, und eine Beschreibung der API im Newsletter.
Herunterladen von Regmon v4.34 unter
http://www.sysinternals.com/ntw2k/source/regmon.shtml
SYSINTERNALS IM PC WORLD MAGAZINE
Sowohl Regmon als auch Filemon wurden in der August-Ausgabe von PC World, einer auflagenstarken Computerzeitschrift, als empfohlene Tools zur Problembehandlung empfohlen. Weitere Informationen finden Sie unter http://www.pcworld.com/features/article/0,aid,101750,00.asp
SYSINTERNALS UNTER WWW.MICROSOFT.COM
Dies ist die aktuelle Version der Sysinternals-Verweise in den Microsoft Knowledge Base-Artikeln (KB), die seit dem letzten Newsletter veröffentlicht wurden. Damit sind insgesamt 38 KB-Verweise auf Sysinternals verfügbar.
VORGEHENSWEISE: Erstellen von benutzerdefinierten administrativen Vorlagen in Windows 2000
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q323639Anmeldeverzögerungen bei langsamen Verbindungen, wenn Oplock für die Richtliniendatei nicht erteilt wird
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q319440XCON: Beim MTA-Prozess geht Arbeitsspeicher mit hoher Handleanzahl verloren http://support.microsoft.com/default.aspx?scid=kbEN-US;q313735
Darüber hinaus hat Microsoft Sysinternals als die derzeitige Windows XP Embedded-Communitywebsite ausgezeichnet! Besuchen Sie http://www.microsoft.com/windows/embedded/community/default.asp.
INTERNALS-INFORMATIONEN
MARK UND DAVID SOLOMON LEHREN INTERNALS IN LONDON
Seien Sie dabei, wenn David Solomon und ich vom 23. bis 25. September in London einen 3-tägigen Kurs zu den Interna von Windows 2000/XP/.NET Server geben (der nächste Kurs findet vom 9. bis 11. Dezember in Austin (Texas, USA) statt). Basierend auf „Inside Windows 2000, 3. Ausgabe“ werden die Kernelarchitektur und die Zusammenhänge der wichtigsten Systemkomponenten und Mechanismen, wie Systemthreads, Systemaufrufe, Interrupt-Behandlung und das Starten und Herunterfahren behandelt. Zu den Internals der wichtigsten Subsysteme gehören Prozesse und Threads, Threadplanung, Speicherverwaltung, Sicherheit, das E/A-System, NTFS und der Cache-Manager. Wenn Sie die Funktionsweise des Betriebssystems verstehen, können Sie die Plattform effizienter nutzen und effektiver debuggen und Probleme beheben.
Weitere Informationen finden Sie unter http://www.sysinternals.com/seminar.shtml.
EINBLICK IN DIE WINDOWS NT-ENTWICKLUNG
Diese Präsentation ist bereits einige Jahre alt, aber dennoch ein interessanter Einblick in den Entwicklungsverlauf von Windows NT 3.1 bis Windows 2000. Mark Lucovsky, einer der ursprünglichen NT-Softwareentwickler, hielt den Vortrag anlässlich der USENIX Annual Technical Conference im Jahr 2000. Er beschreibt die Größe der Entwicklungsteams, die Fehlerraten (des von ihnen geschriebenen Codes, nicht der Mitglieder), das Quellcodeverwaltungssystem und die Teamentwicklung.
Lesen Sie Mark Lucovskys Vortrag zur Entwicklungsgeschichte von NT unter http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/.
In diesem Zusammenhang sei auf Microsofts eigene Entwicklungsgeschichte von Windows verwiesen, von Windows 1.0 bis Windows .NET Server: http://www.microsoft.com/windows/WinHistoryIntro.asp
WENN EINE ÄNDERUNG NICHT ZÄHLT
Windows verfolgt mehrere Zeitstempel für Dateien und Verzeichnisse nach. Diese umfassen das Erstellen, den letzten Zugriff und die letzte Änderung. Der Zeitstempel für die letzte Änderung wird als Aufzeichnung des letzten Zeitpunkts dokumentiert, zu dem eine Datei geschrieben wurde. Leider wird eine Anwendung, die sich darauf verlässt, dass dies der Fall ist, eine böse Überraschung erleben.
Wenn eine Anwendung eine Datei mit der CreateFile-API öffnet und dann mit WriteFile oder den jeweiligen Varianten in die Datei schreibt, spiegelt die letzte Änderungszeit den Zeitpunkt der letzten Änderung der Datei wider. Wenn die Anwendung die Datei mit CreateFileMapping
und MapViewOfFile
für speicherzugeordnete E/A öffnet und dann die Datei durch Änderung des zugeordneten Inhalts modifiziert, werden die Daten schließlich vom Speicher-Manager in die Datei zurückgeschrieben, und die Version auf dem Datenträger wird geändert. Das Problem besteht darin, dass Dateisystemtreiber den Zeitpunkt der letzten Änderung einer Datei nicht aktualisieren, wenn eine Änderung aufgrund eines speicherzugeordneten Schreibvorgangs erfolgt.
Warum nicht? Ich nehme an, dass die Entwickler dies zugunsten der Leistung vermieden haben, aber das Verhalten ist nicht dokumentiert, sodass ich nur spekulieren kann. Ich schätze, nicht alle Schreibvorgänge sind gleich.
.NET SERVER RC1
Windows .NET Server RC 1 wurde ausgeliefert, und es besteht eine Chance, dass Microsoft bis Ende des Jahres den RTM-Build (Release to Manufacturing) des neuen Serverbetriebssystems veröffentlichen wird (sie ist etwa so groß wie die Chance, im selben Jahr von einer Schlange und einem Hai gebissen zu werden). Aus Kernelsicht gibt es keine wesentlichen sichtbaren Änderungen gegenüber Windows XP. Es gibt keine wichtigen neuen Kernelsubsysteme, Win32- oder Kernel-APIs gibt keine größeren neuen Kernel-Subsysteme, Win32- oder Kernel-APIs – nur Optimierungen, die die Leistung auf großen Systemen verbessern, und eine Handvoll APIs, die vorhandene API-Sammlungen abrunden.
Es gibt jedoch große Änderungen im Benutzerbereich. Die größte ist natürlich .NET Framework, aber es gibt auch neue serverorientierte Dienste. Der Volumenschattenkopie-Dienst, der in Windows XP für Datensicherungen eingeführt wurde, wird verwendet, um Clientbenutzern die Möglichkeit zu geben, Dateien in Serverfreigaben auf frühere Versionen zurückzusetzen. Es ist kein Eingreifen des Administrators erforderlich, da ein Benutzer einfach den gewünschten Eintrag in einer Liste mit Dateiverläufen auswählen kann, die auf einer neuen Registerkarte für Dateieigenschaften im Explorer angezeigt wird.
Eine Verbesserung für Servernetzwerke ist Winsock Direct, eine Infrastruktur, die es Anwendungen auf einem Server in einer mehrschichtigen Konfiguration mit spezialisierten Netzwerkverbindungen (einer Konfiguration, die als System Area Network (SAN) bezeichnet wird) ermöglicht, direkt mit der Netzwerkhardware zu kommunizieren und dabei den TCP/IP-Stapel und den Kernel zu umgehen.
Halten Sie Ausschau nach einem demnächst erscheinenden Artikel von David Solomon und mir, in dem die Änderungen auf Systemebene von .NET Server beschrieben werden. Wir behandeln auch .NET Server in der nächsten Überarbeitung von „Inside Windows 2000“, die den Titel „Windows Internals“ tragen wird und im nächsten Frühjahr erscheinen soll.
UNZÄHLIGE WMI-SKRIPTS
Wenn Ihnen die PsTools-Suite von Sysinternals gefällt, dann sind Sie wahrscheinlich ein Skript-Junkie, und wenn auf Ihren Systemen Windows 2000 oder XP ausgeführt wird oder die NT 4-WMI-Kernkomponenten installiert sind, dann sollten Sie die TechNet-Website von Microsoft besuchen und die dort veröffentlichten kostenlosen WMI-Beispielskripts herunterladen. Eine große Sammlung von Skripts ist verfügbar, die in Kategorien wie Computer Management und Networking unterteilt ist. Sie können die Skripts einzeln oder alle auf einmal herunterladen.
Abrufen kostenloser WMI-Beispielskripts unter http://www.microsoft.com/technet/treeview/default.asp?url=/technet/scrip tcenter/sampscr.asp
Apropos kostenlose Angebote von Microsoft: Sie können eine Teilmenge der Tools des Windows 2000 Resource Kit herunterladen. Besuchen Sie http://www.microsoft.com/windows2000/techinfo/reskit/en-us/default.asp.
VERWENDEN VON BOOTVIS FÜR DIE PROFILERSTELLUNG DES STARTPROZESSES
Ich erhalte regelmäßig Anfragen, ein Tool für Sysinternals zu entwickeln, das den Startvorgang überwacht, sodass ein Benutzer feststellen kann, welche Ursachen für Verzögerungen auftreten. Zum Glück habe ich so lange gewartet, dass Microsoft mir zuvorgekommen ist. Das von Microsoft geschriebene Tool heißt BootVis und spielte eine wichtige Rolle bei der Optimierung der Startleistung, die für Windows XP implementiert wurde. Sie können es von http://www.microsoft.com/HWDEV/PLATFORM/performance/fastboot/BootVis.asp herunterladen. BootVis, das nur unter Windows XP ausführbar ist, verwendet die WMI-Funktion für Kernelablaufverfolgung von XP, um eine detaillierte Ablaufverfolgung des Startvorgangs zu erstellen, einschließlich CPU-Auslastung, Datenträger-E/A, Prozessstart und Treiber-E/A. Die Hilfedatei, die im Lieferumfang von BootVis enthalten ist, als knapp zu bezeichnen, ist freundlich ausgedrückt, daher werde ich Sie mit der Verwendung des Tools vertraut machen.
Wenn Sie genau feststellen möchten, welche Funktionen mit Treibern und Modulen die CPU-Zeit beanspruchen, öffnen Sie das Dialogfeld „Tools|Options“ (Extras|Optionen), und verweisen Sie mit BootVis auf Ihre installierten Windows XP-Symbole. Nun müssen Sie BootVis eine Ablaufverfolgung des nächsten Startvorgangs erfassen lassen, einschließlich Treiberverzögerungen, indem Sie „Trace|Next Boot+Driver Delays“ (Ablaufverfolgung|Nächster Startvorgang+Treiberverzögerungen) auswählen. BootVis führt einen Countdown aus und startet dann ihr System neu.
Nachdem das System gestartet wurde, melden Sie sich an, und führen Sie BootVis erneut aus. Wählen Sie „Trace|Stop Trace“ (Ablaufverfolgung|Ablaufverfolgung beenden) aus. Die Ablaufverfolgung, die vom Kernel erfasst wurde, wird extrahiert und in einer Datei gespeichert, die dann zur Anzeige geladen wird. Es werden vier Diagramme angezeigt. Unter „Cpu Usage“ (CPU-Auslastung) wird eine Übersicht darüber angezeigt, wie viel CPU-Verarbeitung während des Startvorgangs erfolgt ist. Das Balkendiagramm „Disk I/O“ (Datenträger-E/A) zeigt die Anzahl der Lese- (rot) und Schreibvorgänge (blau), die pro Sekunde auf dem Datenträger stattgefunden haben. Im Diagramm „Driver Delay“ (Treiberverzögerung) sehen Sie Rechtecke, die Treiber-E/A darstellen, die länger als der standardmäßige BootVis-Grenzwert von 100 Millisekunden gedauert hat – solche Verzögerungen werden als signifikant angesehen. Schließlich zeigt das Diagramm „Process Creates“ (Prozesserstellungen) beschriftete Rechtecke, an denen Prozesse gestartet wurden.
BootVis zeigt nicht notwendigerweise alle erfassten Ablaufverfolgungsdaten an, wenn Sie das Tool starten. Verwenden Sie daher die Schaltfläche „Verkleinern“, bis Sie den rechten Rand der grafisch dargestellten Daten sehen können. Sehen Sie sich nun die einzelnen Diagramme an. Wenn Sie eine CPU- oder Datenträgerspitze erkennen oder die Startaktivität eines Prozesses näher betrachten möchten, verwenden Sie die Schaltfläche „Vergrößern“ der Symbolleiste. Beachten Sie, dass die angezeigte Anfangszeit beim Vergrößern bei 0 verbleibt. Geben Sie daher nach dem Vergrößern manuell eine Zeit in der Nähe der Aktivität, an der Sie interessiert sind, in das Eingabefeld für die Anzeigezeit ein.
Mit den Diagrammen „CPU Usage“ (CPU-Auslastung), „Disk I/O“ (Datenträger-E/A) und „Driver Delay“ (Treiberverzögerung) können Sie mehr Informationen anzeigen, als sofort sichtbar sind. Wählen Sie den gewünschten Bereich im Diagramm aus, indem Sie den Cursor bewegen, die linke Maustaste drücken und gedrückt halten und dann ziehen. Klicken Sie dann mit der rechten Maustaste, um ein Menü zu öffnen. Die interessante Menüoption im Diagramm „CPU Usage“ (CPU-Auslastung) lautet „Show Summary“ (Zusammenfassung anzeigen), wodurch ein Dialogfeld geöffnet wird, in dem eine Aufschlüsselung nach Prozess der CPU-Auslastung für das ausgewählte Zeitintervall angezeigt wird. Wenn Sie auf einen der Prozesse doppelklicken, öffnet sich ein weiteres Dialogfeld, das eine Aufschlüsselung der CPU-Auslastung nach Modulen (z. B. die DLLs im Prozess) anzeigt. Wenn Sie Symbole konfiguriert haben, können Sie sogar auf ein Modul doppelklicken und erhalten ein Dialogfeld mit einer Aufschlüsselung der CPU-Nutzung dieses Moduls nach Funktionen.
Wenn Sie mit der rechten Maustaste auf einen ausgewählten Bereich im Diagramm „Disk I/O“ (Datenträger-E/A) klicken, werden zwei Menüoptionen angezeigt: „Show Summary Table“ (Übersichtstabelle anzeigen) und „Show Detail Graph“ (Detaildiagramm anzeigen). Wählen Sie „Show Summary Table“ (Übersichtstabelle anzeigen) aus, um eine nach Modulen aufgeschlüsselte Aufstellung aller Eingaben und Ausgaben anzuzeigen, die während des Intervalls aufgetreten sind. Wählen Sie „Show Detail Graph“ (Detaildiagramm anzeigen) aus, um ein Liniendiagramm anzuzeigen, das die tatsächlichen Sektoren innerhalb des Datenträgers darstellt, auf die während des Intervalls zugegriffen wurde. Das Detaildiagramm ordnet die E/A-Vorgänge sogar den Prozessen zu, die sie ausgeführt haben, und ermöglicht es Ihnen, Prozesse herauszufiltern, indem Sie sie in der Liste auf der linken Seite deaktivieren. Sie können einen Bereich innerhalb des Detaildiagramms auswählen und ein anderes Übersichtsdiagramm für dieses Teilintervall aufrufen, indem Sie mit der rechten Maustaste klicken und die entsprechende Menüoption auswählen.
Wenn Sie im Kontextmenü des Diagramms „Driver Delay“ (Treiberverzögerung) die Option „Show Summary Table“ (Übersichtstabelle anzeigen) auswählen, wird eine Liste der im ausgewählten Bereich angezeigten E/A-Vorgänge angezeigt, die den Namen des Treibers, der die E/A durchgeführt hat, den Beginn, das Ende und die Gesamtzeit jeder E/A sowie die durchgeführte E/A-Funktion enthält.
Damit bin ich am Ende meines BootVis-Tutorials angelangt. Obwohl es nicht das ausgefeilteste Tool ist, werden Sie mir zweifellos zustimmen, wenn Sie eine Weile mit BootVis herumgespielt haben, dass der Detaillierungsgrad, der in den Diagrammen angezeigt wird, erstaunlich ist. Wenn das nächste Mal ein verzögerter Start auftritt und Sie wissen möchten, was dafür verantwortlich ist, wissen Sie, wo Sie die Antwort finden.
BALD VERFÜGBAR
SCHNELLE EINFÜHRUNG IN DIE ABSTURZABBILDANALYSE
Die jüngsten Verbesserungen an den Kerneldebugtools von Microsoft haben die Analyse von Absturzabbildern praktisch mühelos gemacht. Das nächste Mal zeige ich Ihnen, wie Sie in weniger als einer Stunde zum Profi für Absturzabbildanalysen werden.
Vielen Dank, dass Sie den Sysinternals-Newsletter gelesen haben.
Veröffentlicht: Montag, 12. August 2002, 19:00 Uhr von ottoh
[Newsletter-Archiv ^] [< Band 4, Nummer 1] [Band 4, Nummer 3 >]