Windows Server 2003 überwachen: Der Task-Manager

02.03.2005 von LEE SCALES  und John  Michell
Der Task-Manager ist ein mächtiges Werkzeug für die Überwachung von Anwendungen. Sie kommen damit Ressourcenfressern auf die Schliche, legen Prozessprioritäten fest und teilen Aufgaben den verschiedenen CPUs zu.

Unsere Artikelserie zum Windows Server 2003 zeigt Ihnen verschiedene Aspekte und Hilfsmittel auf, die Sie bei der Überwachung eines Servers unterstützen. Sie erwerben damit die Kernkompetenzen, die ein Administrator nach Meinung von Microsoft braucht, um mit Windows Server 2003 umgehen zu können. Die sechs Teile der Serie beschäftigen sich mit folgenden Themen:

Ereignisse überwachen und analysieren mit Ereignisanzeige und Systemmonitor

Hier lernen Sie, wie Sie mit dem Systemmonitor die Leistung Ihres Windows-Server-2003-Rechners überwachen. Und Sie erfahren, wie Sie mit den Protokollen der Ereignisanzeige Fehler finden und identifizieren.

Datei- und Druck-Server verwalten mit Task-Manager, Ereignisanzeige und Systemmonitor

In diesem Abschnitt erhalten Sie das nötige Know-how, um den Datei- und Druckgebrauch mit Hilfe der verschiedenen Tools von Windows Server 2003 zu überwachen. Außerdem lesen Sie, wie man Leistungsbremsen identifiziert.

Fehlerbehebung bei Druckwarteschlangen

Wenn Sie mit Windows Server 2003 arbeiten, sollten Sie unbedingt wissen, wie man Probleme beim Druck beseitigt. Das Drucken gehört zu den wichtigsten Aufgaben eines Windows-Server-2003-Servers.

Server-Leistung überwachen

Auch mit den Leistungscharakteristika Ihrer 2003-Server sollten Sie sich auskennen. So identifizieren Sie potenzielle Probleme, ehe diese zu Ausfällen führen.

Eine Server-Umgebung hinsichtlich Applikations-Performance überwachen und optimieren

Hier erfahren Sie, wie man einen Windows Server 2003 überwacht und optimiert, indem man die vier grundlegenden Arten von Leistungsobjekten im Auge behält.

Die Serie basiert auf Kapitel 6 des Buches "MCSA/MCSE - Windows Server 2003 verwalten und warten. Examen70-290" von Lee Scales und John Michell. Erschienen ist es im Verlag Addison-Wesley. Sie können sich das über 600 Seiten starke Buch in unserem Buchshop bestellen oder als eBook beziehen.

Serie: Windows Server 2003 überwachen und optimieren

Teil 1

Die Ereignisprotokolle

Teil 2

Überwachung

Teil 3

Der Task-Manager

Teil 4

Server-Umgebung optimieren

Teil 5

Systemressourcen optimieren

Teil 6

Datei- und Drucker-Server überwachen

Der Task-Manager

Der Task-Manager von Windows Server 2003 gibt Administratoren die Möglichkeit, den Status der aktuell laufenden Applikationen und Prozesse zu überwachen und zu verwalten. Dies ist eine Art Mini-Performance-Tool, mit dem Sie einen knappen Überblick über den Zustand des Systems erhalten. Zudem gibt Ihnen der Task-Manager eine Zusammenfassung über die grundlegenden Systemressourcen, die verwendet werden.

Für die Überwachung der aktiven Applikationen steht Ihnen eine Echtzeitansicht der Systemressourcen, die den jeweiligen Applikationen zugewiesen sind, zur Verfügung. Sie können mit dem Task-Manager auch Applikationen kontrollieren, die nicht mehr arbeiten und sie beenden.

Sie starten den Task-Manager auf eine der folgenden Arten:

Der Task-Manager weist fünf Reiter auf: ANWENDUNGEN, PROZESSE, LEISTUNG, NETZWERK und BENUTZER. Diese Reiter werden in den folgenden Abschnitten besprochen.

Der Reiter Anwendungen

Der Reiter ANWENDUNGEN (Bild 32) bietet eine Auflistung aller derzeit aktiven Applikationen zusammen mit ihrem Status - entweder WIRD AUSGEFÜHRT oder KEINE RÜCKMELDUNG. Normalerweise haben Programme den Status WIRD AUSGEFÜHRT. Doch kommt es vor, dass ein Programm vorübergehend den Status KEINE RÜCKMELDUNG anzeigt. Das passiert normalerweise, wenn ein anderes Programm Vorrang hat und den Großteil der Systemressourcen für sich beansprucht, oder wenn ein Programm zu sehr mit Rechnen beschäftigt ist, um auf Anfragen antworten zu können.

Wenn eine nicht antwortende Applikation nicht von selbst zum Status WIRD AUSGEFÜHRT zurückkehrt, nachdem die anderen Applikationen die Ressourcen nicht mehr in Beschlag nehmen, muss diese manuell beendet werden. Dazu können Sie die Applikation entweder mit der rechten Maustaste anklicken und TASK BEENDEN im Kontextmenü wählen oder auf die Schaltfläche TASK BEENDEN unten im Task-Manager klicken. Waren in der Applikation noch offene Dateien vorhanden, werden die Daten bedauerlicherweise nicht gespeichert. Sie können mit dem Task-Manager übrigens auch Applikationen mit dem Status WIRD AUSGEFÜHRT beenden.

Es ist möglich, eine Applikation vom Task-Manager aus auf zwei verschiedene Arten zu starten:

Der Reiter Prozesse

Der Reiter PROZESSE (Bild 33) zeigt die derzeit aktiven Prozesse samt der von ihnen genutzten Ressourcen an. Auch bei einem System, das nur wenige aktive Applikationen anzeigt, laufen immer zahlreiche Prozesse im Hintergrund.

Dafür gibt es zwei Gründe: Erstens werden Betriebssystemprozesse nicht im Reiter ANWENDUNGEN angezeigt. Zweitens werden beim Start einer Applikation (das heißt irgendeiner EXE) meist mehrere Hintergrundprozesse gestartet. Hierin liegt der Nutzen des Reiters PROZESSE - vielleicht braucht die Hauptapplikation gar nicht so viele Ressourcen, während ein Hintergrundprozess die CPU in die Knie zwingt.

Die Standardansicht zeigt die laufenden Prozesse des derzeit angemeldeten Benutzers. Wenn Sie den Haken bei PROZESSE ALLER BENUTZER ANZEIGEN setzen, werden die Prozesse aller Benutzer angezeigt. Die per Vorgabe angezeigten Ressourcen sind CPU-AUSLASTUNG (%) und SPEICHERAUSLASTUNG. Zusätzliche Werte wie SEITENFEHLER, E/A (LESEN) und MAXIMALE SPEICHERAUSLASTUNG können über ANSICHT, SPALTEN AUSWÄHLEN hinzugefügt werden.

Im Reiter PROZESSE lässt sich sofort feststellen, welche Prozesse die meisten Systemressourcen in Anspruch nehmen. In der Standardansicht können Sie die Prozesse nach Name, Benutzername, CPU-Auslastung (%) und Speicherauslastung sortieren.

Um beispielsweise die Prozesse nach CPU-Auslastung zu sortieren, klicken Sie zwei Mal auf den entsprechenden Spaltenkopf. Damit können Sie Prozesse identifizieren, die Ressourcen blockieren und andere Prozesse kurz halten. Dies weist eventuell auf einen problematischen Prozess hin, den Sie entweder beenden oder dem Sie eine niedrigere Priorität zuweisen müssen. Normalerweise sollte stets der Leerlaufprozess den höchsten Prozentwert einnehmen.

Hintergrundinformation zur Priorität

Windows Server 2003 bietet eine schnelle, zuverlässige Multitasking-Umgebung, die präemptives Multitasking und die Ausführung von Applikationen in getrennten Adressräumen unterstützt. Beim präemptiven Multitasking kontrolliert das Betriebssystem, welche Applikation wie lange Zugriff auf die CPU hat. Das Betriebssystem kann die Ressourcen jederzeit einer anderen Applikation mit höherer Priorität übertragen.

Dies ermöglicht es dem Betriebssystem, einer fehlerhaften, schlecht programmierten Applikation die Ressourcen zu entziehen, die sie grundlos in Beschlag nimmt.

Windows Server 2003 unterstützt mehrere Ausführungseinheiten für einen einzelnen Prozess, was man Multithreading nennt. In einer Multithreading-Umgebung kann ein Prozess in mehrere Unter-Tasks, Threads genannt, aufgeteilt werden, deren Ausführung dann unabhängig vom Hauptprozess ist. So kann ein Programm mehrere Tasks gleichzeitig statt nacheinander ausführen. Wenn Sie zum Beispiel Microsoft Outlook verwenden, können Sie Nachrichten lesen oder verfassen, während Sie Mails herunterladen. Multithreading bedeutet in der Praxis, dass ein Prozess nicht warten muss, bis ein anderer abgeschlossen ist.

Bei einem präemptiven Multitasking-System können die einzelnen Tasks nicht bestimmen, wie lange sie die Systemressourcen verwenden. Das heißt, dass irgendeine Art von Prioritätssystem notwendig ist, um sicherzustellen, dass kritische Tasks einen größeren Anteil an der Rechenzeit der CPU erhalten. Das Prioritätssystem ist Teil des Betriebssystems, aber die Tasks können dem Betriebssystem mitteilen, welche Priorität sie brauchen. Das funktioniert theoretisch ganz gut. Doch es gibt immer wieder Situationen, in denen ein System lauter Tasks hoher Priorität aufweist, die in Summe verhindern, dass die Tasks niedriger Priorität überhaupt Systemressourcen erhalten.

Windows Server 2003 verwendet ein dynamisches Prioritätssystem, das es ermöglicht, die Priorität von Tasks zu verändern, um sich konstant verändernde Systemkonditionen zu reflektieren. Wenn beispielsweise ein Task niedriger Priorität zu Gunsten eines Tasks hoher Priorität übergangen wird, erhöht Windows Server 2003 die Priorität des Tasks niedriger Priorität, bis er Systemressourcen erhält. Wenn ein Task hoher Priorität ein Weilchen am Ruder war, verringert Windows Server 2003 seine Priorität. Das dynamische Prioritätssystem stellt sicher, dass bestimmten Aufgaben mehr Systemressourcen zur Verfügung stehen als anderen, und dass jeder Task zumindest ein paar Ressourcen erhält.

Eine Vordergrund-Applikation wurde aktiviert, indem sie auf dem Desktop von Windows Server 2003 ausgewählt und so in den Vordergrund gebracht wurde. Alle anderen laufenden Applikationen heißen Hintergrund-Applikationen. Per Vorgabe gibt Windows Server 2003 Hintergrund-Applikationen mehr Ressourcen und eine höhere Priorität als den Vordergrund-Applikationen derselben Prioritätsklasse. Das liegt natürlich daran, dass Windows Server 2003 ein Server-Betriebssystem ist und Server normalerweise Hintergrund-Applikationen wie Dateifreigabe oder Druckdienste hosten.

Windows Server 2003 verwendet Priorität, um Rechenzeit in kleinen Paketen an Applikationen zu verteilen. Das nennt man Zeitscheibenverfahren oder Time Slicing. Windows Server 2003 teilt Vordergrund-Applikationen in schneller Folge kurze Zeitscheiben variabler Länge zu, während Hintergrund-Applikationen oder Dienste weniger häufig längere Zeitscheiben fester Größe erhalten.

Um das Vorgabeverhalten zu ändern, öffnen Sie das System in der Systemsteuerung (Bild 34). Im Reiter ERWEITERT klicken Sie auf die Schaltfläche EINSTELLUNGEN im Bereich SYSTEMLEISTUNG. Im Dialogfeld LEISTUNGSOPTIONEN klicken Sie auf den Reiter ERWEITERT, um das Verhalten des Systems einzustellen. Es gibt zwei Optionen: PROGRAMME und HINTERGRUNDDIENSTE. Vorgabe ist Hintergrunddienste, das heißt, der Server weist Applikationen, die in Hintergrundsitzungen laufen (also Mail- oder Datenbank-Servern), mehr Ressourcen zu. Das ist die empfohlene Einstellung für Server ohne Vordergrund-Applikationen.

Windows Server 2003 verwendet zur weiteren Einteilung der Rechenzeit an Applikationen verschiedene Prioritätsstufen. Prioritätsstufen sind Zahlen zwischen 0 und 31. Applikationen und unkritische Betriebssystemfunktionen erhalten Werte zwischen 0 und 15, während Echtzeitfunktionen wie der Betriebssystem-Kernel Werte zwischen 16 und 31 bekommen. Die normale Standardpriorität ist 8.

Prioritätsstufen im Task-Manager anzeigen

Normalerweise werden die Prioritätsstufen nicht im Task-Manager angezeigt. Das lässt sich aber ändern. Um den Task-Manager so zu konfigurieren, dass er die Prioritätsstufe laufender Applikationen anzeigt, verwenden Sie die Schritt-für-Schritt-Anleitung.

1. Klicken Sie mit der rechten Maustaste auf die Task-Leiste und wählen Sie TASK-MANAGER im Kontextmenü.

2. Im Task-Manager klicken Sie auf den Reiter PROZESSE.

3. Wählen Sie nun im Menü ANSICHT, SPALTEN AUSWÄHLEN. Damit öffnen Sie das Dialogfeld SPALTEN AUSWÄHLEN (Bild 35).

4. Setzen Sie den Haken bei BASISPRIORITÄT. Klicken Sie auf OK. Das Resultat sehen Sie in Bild 36.

Wenn ein Prozess mit niedriger Priorität ausgeführt wird und ein Echtzeitprozess startet, dann erhält der Echtzeitprozess mehr Systemressourcen als der laufende Prozess mit niedriger Priorität. Das kann mitunter dazu führen, dass die Applikation, von der der Prozess mit niedriger Priorität kontrolliert wird, den Status KEINE RÜCKMELDUNG im Reiter ANWENDUNGEN des Task-Managers anzeigt.

Prioritäten erhöhen

Damit Echtzeit-Prozesse nicht Prozesse mit niedriger Priorität aushungern, können Sie die Priorität eines Prozesses mit niedriger Priorität manuell höher setzen.

1. Klicken Sie mit der rechten Maustaste auf die Taskleiste und wählen Sie TASK-MANAGER im Kontextmenü.

2. Im Task-Manager klicken Sie auf den Reiter PROZESSE.

3. Klicken Sie nun den Prozess, dessen Priorität Sie ändern wollen, mit der rechten Maustaste an, und wählen Sie PRIORITÄT FESTLEGEN im Kontextmenü (Bild 37).

4. Nach der Auswahl der Priorität erhalten Sie eine Warnung (Bild 38). Klicken Sie auf JA, wenn Sie die Priorität wirklich ändern wollen.

5. Wie Sie im Task-Manager sehen können, wurde die Priorität tatsächlich angepasst.

Sie können den Prozessen mit dem Task-Manager nicht spezielle Prioritätswerte geben, sondern nur Prioritätsklassen festlegen:

Prozessstrukturen beenden und CPUs zuordnen

Eine Applikation mit dem Task-Manager auf diese Weise zu bearbeiten, ist nur ein Notbehelf, denn nach einem Neustart des Systems oder auch nur der Applikation gehen die Prioritätseigenschaften verloren.

Eigentlich sollte es gar keinen Grund geben, die Priorität von Prozessen zu verändern. Nehmen wir an, Sie haben eine Datenbankabfrage, die nicht abgeschlossen werden kann, weil der Prozess nicht ausreichend CPU-Rechenzeit erhält. In diesem Fall können Sie vorübergehend die Priorität des Prozesses auf Hoch setzen, um diese Anfrage erfolgreich abzuschließen. Doch seien Sie gewarnt: Wenn Sie Applikationen mit hoher Priorität ausführen lassen, vermindert sich die allgemeine Leistung, weil die anderen Applikationen weniger Ressourcen zugeteilt bekommen.

Manchmal müssen Prozesse beendet werden. Sie können entweder einen speziellen Prozess oder den Prozess und alle mit ihm verknüpften Prozesse beenden. Sie tun dies, indem Sie den Prozess im Reiter PROZESSE des Task-Managers mit der rechten Maustaste anklicken und dann PROZESS BEENDEN (um nur den Prozess zu beenden) oder PROZESSSTRUKTUR BEENDEN (um den Prozess und alle von ihm gestarteten Prozesse zu beenden) wählen. Angenommen, Sie wollen den Prozess einer Textverarbeitung beenden: Mit PROZESSSTRUKTUR BEENDEN würden Sie dann zusätzlich auch den Rechtschreibprüfungsprozess beenden, der vom Textverarbeitungsprozess gestartet wurde.

Bei einem Server mit mehreren CPUs gibt es einen zusätzlichen Menüeintrag ZUGEHÖRIGKEIT FESTLEGEN im Kontextmenü des Reiters PROZESSE. Mit diesem Kommando können Sie einen Prozess auf eine bestimmte CPU beschränken.

1. Klicken Sie mit der rechten Maustaste auf die Taskleiste und wählen Sie TASK-MANAGER im Kontextmenü.

2. Im Task-Manager klicken Sie auf den Reiter PROZESSE.

3. Klicken Sie nun den Prozess, den Sie einem bestimmten Prozessor zuweisen möchten, mit der rechten Maustaste an und wählen Sie ZUGEHÖRIGKEIT FESTLEGEN im Kontextmenü.

4. Im Dialogfeld PROZESSORZUGEHÖRIGKEIT (Bild 40) entfernen Sie die Haken bei den Prozessoren, auf denen der Prozess nicht laufen soll. Klicken Sie zum Speichern auf OK.

Verwenden Sie diese Option nur mit Bedacht, denn sie könnte die Performance des Prozesses verringern. Das passiert dann, wenn der von Ihnen gewählte Prozessor überlastet ist. Während andere Prozesse Zeitscheiben anderer Prozessoren verwenden würden, wäre Ihr Prozess auf den überlasteten Prozessor beschränkt.

Die Reiter Systemleistung und Netzwerk

Der Reiter SYSTEMLEISTUNG (Bild 41) zeigt die Prozessor- und Speicherauslastung Ihres Servers an. Die Anzeige bietet Graphen der aktuellen Auslastung sowie Histogramme für die Auslastung der jüngsten Vergangenheit. Unter den Graphen finden Sie nummerische Statistiken für die CPU- und Speicherauslastung.

Die abgebildeten Informationen können Ihnen einen schnellen Überblick über die Leistungscharakteristika Ihres Servers geben. Hier angezeigte Anormalitäten bedeuten, dass Sie mit anderen Tools von Windows Server 2003 eine genauere Diagnose erstellen sollten.

Der Reiter Netzwerk

Der Reiter NETZWERK wird nur angezeigt, wenn ein Netzwerkadapter installiert ist. Die Standardansicht zeigt Status, Übertragungsrate und Netzwerkauslastung der einzelnen NICs an (Bild 42).

Die Informationen im Reiter NETZWERK geben Ihnen einen Überblick über die Leistung Ihrer Netzwerkverbindungen. Sie erkennen auf einen Blick, welche aktiven Verbindungen Sie haben, wie viel Bandbreite verbraucht wird und über welche Verbindung am meisten Traffic läuft. Diese Informationen helfen Ihnen, wenn Sie ein Problem haben, weil Sie sofort sehen, was im Netzwerk passiert.

Wie bei den anderen Reitern des Task-Managers können Sie sich zahlreiche Dinge zusätzlich anzeigen lassen. Wählen Sie hierfür ANSICHT, SPALTEN AUSWÄHLEN.

Der Reiter Benutzer

Der Reiter BENUTZER zeigt die derzeit an Ihrem Server angemeldeten Benutzer an, egal, ob diese an der Konsole angemeldet sind oder mit dem RDP-Client im Modus Remote Desktop für Verwaltung oder im Modus Anwendungs-Server verbunden sind. Jede Sitzung hat eine Kennung, wobei 0 stets für die Konsole steht. Neben Benutzername und Sitzungskennung werden auch der Status der Sitzung und der Name des Client-Computers angezeigt (Bild 43).

Falls sich der 2003-Server nicht im Modus Anwendungs-Server befindet, sind nur drei Verbindungen zum Server erlaubt. Zwei davon sind Remote-Verwaltungssitzungen, die dritte ist eine Konsolensitzung, entweder lokal oder via RDP. Wenn sich ein Administrator an einer dieser Sitzungen anmeldet und dann in die Mittagspause geht, können sich andere Administratoren nicht am Server anmelden. Es besteht die Möglichkeit, dem Administrator in diesem Dialogfeld eine Nachricht zu senden und ihn zu bitten, sich abzumelden. Falls er nicht anwesend ist, können Sie seine Sitzung trennen oder abmelden.

Ausblick

Im nächsten Abschnitt der sechsteiligen Serie zeigen wir Ihnen, wie Sie die Leistung der Anwendungen überwachen und optimieren. Unter anderem gehen wir auf den Systemmonitor, die Leistungsprotokolle und Leistungswarnungen ein.

Die Serie basiert auf Kapitel 6 des Buches "MCSA/MCSE - Windows Server 2003 verwalten und warten. Examen 70-290" von Lee Scales und John Michell. Erschienen ist es im Verlag Addison-Wesley. Sie können sich das über 600 Seiten starke Buch in unserem Buchshop bestellen oder als eBook beziehen.

Serie: Windows Server 2003 überwachen und optimieren

Teil 1

Die Ereignisprotokolle

Teil 2

Überwachung

Teil 3

Der Task-Manager

Teil 4

Server-Umgebung optimieren

Teil 5

Systemressourcen optimieren

Teil 6

Datei- und Drucker-Server überwachen