[Newsletter-Archiv ^] [< Band 5, Nummer 2] [Band 6, Nummer 2 >]
The Systems Internals Newsletter Band 6, Nummer 1
http://www.sysinternals.com
Copyright (C) 2004 Mark Russinovich
AUSGABE MIT BESONDERER ANKÜNDIGUNG
Das Ausbleiben eines vor Kurzem erschienenen Newsletters hat Sie wahrscheinlich denken lassen, dass die Liste unterbrochen ist oder dass ich aufgehört habe, sie zu schreiben, aber der Grund ist, dass David Solomon und ich hart an der nächsten Ausgabe von "Inside Windows 2000" gearbeitet haben. Sie trägt den Titel "Windows Internals" und deckt Windows 2000, Windows XP und Server 2003 ab. Wir haben gute Fortschritte gemacht und erwarten, dass das Manuskript im August zur Veröffentlichung im Oktober abgeschlossen sein wird. Zusätzlich zu den Änderungen am Betriebssystem haben wir auch die Abdeckung in vielen Bereichen erweitert, einschließlich Sicherheit, Absturzabbildanalyse, Systemstart und mehr. Sobald wir fertig sind, können Sie mit der Wiederaufnahme regelmäßiger Newsletter rechnen. Trotzdem habe ich einen Process Explorer-Tipp aufgenommen, den Sie meiner Meinung nach nützlich finden werden.
VERWENDEN DES PROCESS EXPLORERS ZUM NACHVERFOLGEN DER CPU-AUSLASTUNG
Wenn Sie Sysinternals häufig verwenden, haben Sie feststellen können, dass Process Explorer in den letzten sechs Monaten wesentliche Verbesserungen erhalten hat. Mehrere erleichtern das Verständnis der CPU-Auslastung eines Systems gegenüber Task Manager. Im Task-Manager haben beispielsweise selbst Prozesse, die keine CPU verbrauchen, Text in der CPU-Spalte ("00"), was es schwierig macht, sie von Prozessen zu unterscheiden, die die CPU in Anspruch nehmen. Task Manager rundet außerdem die CPU-Auslastung auf die nächste ganze Zahl, wodurch die CPU-Auslastung verborgen oder falsch dargestellt werden kann. Wenn ein Prozess ab und zu aktiv ist, aber zu weniger als 1 % zur CPU-Auslastung beiträgt, wird er möglicherweise trotzdem als "00" angezeigt. Schließlich schreibt Task Manager jegliche CPU-Zeit, die für Interruptverarbeitung verwendet wird, dem "System-Leerlaufprozess" zu, was es für Sie unmöglich macht, einen fehlerhaften Treiber oder fehlerhafte Hardware zu identifizieren, die Ihren Computer träge macht.
In Process Explorer können Sie einfach auf einen Blick sehen, welche Prozesse CPU verwenden, da er nur Zahlen für diejenigen mit CPU-Auslastung ungleich null anzeigt und seine Option, die CPU-Auslastung in Bruchteilen anzuzeigen, die CPU-Auslastung genauer darstellt. Außerdem werden Interruptaktivitäten (Hardware-Interrupt) und verzögerte Prozeduraufrufe (DPCs – Software-Interrupt) als Pseudoprozesse angezeigt.
Allerdings gibt es auch bei Bruchteildarstellung der CPU fast immer Prozesse, die CPU verbrauchen, aber nicht so angezeigt werden. Der Grund dafür liegt in der Art und Weise, wie Windows seine Zeitbuchhaltung durchführt. In regelmäßigen Abständen (auf den meisten Systemen alle 10 ms) wird ein Taktinterrupt ausgelöst. Als Reaktion wird die Windows-Taktinterruptroutine ausgeführt, in der Annahme, dass der aktuell ausgeführte Thread derjenige ist, der die CPU seit dem letzten Taktinterrupt verwendet hat. 10 ms sind auf den heutigen Multigigahertz-CPUs eine lange Zeit, und viele Threads können zwischen Taktinterrupts ausgeführt werden, werden von der Taktinterruptroutine aber nie gesehen.
Eine andere Möglichkeit, die Prozessausführung zu bestimmen, besteht daher darin, die Anzahl der Kontextwechsel zu untersuchen, die für die Threads in einem Prozess angefallen sind. Wenn ein Thread für die Ausführung ausgewählt (geplant) wird, erhöht sich die Anzahl seiner Kontextwechsel. Sie können die Gesamtzahl der Kontextwechsel anzeigen, die in jedem Prozess aufgetreten sind, indem Sie die Spalte Kontextwechsel hinzufügen (klicken Sie auf Ansicht > Spalten auswählen). Eine interessantere Zahl finden Sie aber in der Kontextwechsel-Delta-Spalte. Sie zeigt die Anzahl der Kontextwechsel, die in jedem Prozess innerhalb des Aktualisierungsintervalls von Process Explorer aufgetreten sind (standardmäßig 1 Sekunde).
Wenn Sie also eine ganz andere Ansicht der Prozessaktivität auf Ihrem System erhalten möchten, fügen Sie die Kontextwechsel-Delta-Spalte hinzu, und sortieren Sie nach ihr. Es werden viele Prozesse mit laufenden Threads angezeigt, die nicht als CPU-Zeit verbrauchend dargestellt werden, da die Threads innerhalb des Taktintervalls von 10 ms ausgeführt werden, nicht direkt auf dem Taktintervall. Einige dieser Prozesse führen unnötige Abfragen durch (z. B. Abfragen der Registrierung oder Überprüfen eines Ordners auf Änderungen). Das ist ganz gewöhnliche schlampige Programmierung. Andere leisten möglicherweise nützliche Arbeit, werden aber "unter dem Radar" der Zeitbuchhaltungsmechanismen des Systems ausgeführt. Es ist Ihre Aufgabe, den Weizen von der Spreu zu trennen.
Sie können Process Explorer unter http://www.sysinternals.com/ntw2k/freeware/procexp.shtml. herunterladen.
MARK SPRICHT AUF DER TECHED ÜBER DEN LINUX/WINDOWS-KERNELVERGLEICH, PROCESS EXPLORER UND PROBLEMBEHANDLUNG DES SYSTEMSTARTS
Sehen Sie meinen Vortrag bei der Microsoft TechEd USA und Europa, wo eine meiner Sitzungen, "Windows and Linux: A Tale of Two Kernels", den aktuellen Linux-Kernel und Windows-Kernel vergleicht. Auf der TechEd US stelle ich außerdem "Advanced Windows Troubleshooting with Sysinternals Process Explorer" vor, wo ich Ihnen Tipps gebe, wie Sie Process Explorer optimal nutzen. Bei TechEd Europe zeigt mein "Effective Windows Troubleshooting with the Sysinternals Tools" die Verwendung von Process Explorer, Regmon und Filemon, um reale Probleme zu lösen, und "Troubleshooting Windows Boot and Startup" vermittelt Ihnen Mechanismen und Techniken, um ein nicht startbares System wieder zum Laufen zu bekommen.
Weitere Informationen finden Sie unter http://www.sysinternals.com/ntw2k/info/talk.shtml.
MARK UND DAVID SOLOMON KLÄREN ÜBER INTERNA UND PROBLEMBEHANDLUNG DES WINDOWS-BETRIEBSSYSTEMS AUF
Hören Sie, wie David Solomon und ich unseren Windows 2000/XP/2003 Internals-Kurs präsentieren: London: 23.–25. Juni 2004
San Jose, CA: 27. September bis 1. Oktober 2004 ***5 Praxistage!
Austin, Texas, 14.–16. Dezember 2004
Dies ist derselbe Kurs, den wir vor Microsoft-Mitarbeitern auf der ganzen Welt halten. Behandelt werden die Interna von Prozessen und Threads, Threadplanung, Arbeitsspeicherverwaltung, Sicherheit, Registrierung und E/A-System. Machen Sie sich mit Mechanismen wie Systemthreads, Verteilung von Systemaufrufen, Interruptbehandlung, Systemstart und Herunterfahren vertraut. Erlernen Sie fortgeschrittene Techniken zur Problembehandlung mit den Tools von Sysinternals und die Durchführung von Absturzabbildanalyse. Wenn Sie die Funktionsweise des Betriebssystems verstehen, können Sie die Plattform effizienter nutzen und effektiver debuggen und Probleme beheben.
HINWEIS: Die Kurse in London und Austin sind reine Vorlesungen. Der San Jose-Kurs ist eine praktische Übung (bringen Sie Ihren eigenen Laptop mit – Konfigurationsdetails werden zur Verfügung gestellt).
Details und Gelegenheit zur Registrierung finden Sie unter http://www.sysinternals.com/troubleshoot.shtml.
Vielen Dank, dass Sie den Sysinternals-Newsletter gelesen haben.
Veröffentlicht Dienstag, 27. April 2004 16:40 Uhr von ottoh
[Newsletter-Archiv ^] [< Band 5, Nummer 2] [Band 6, Nummer 2 >]