Analyse der Speicherauslastung mit dem Task-Manager in Windows 7

Der Task-Manager in Windows 7 bietet zahlreiche Möglichkeiten der Systemanalyse – vor allem auch für die Speicherauslastung.

Manchmal ist eine schnelle und einfache Lösung alles, was benötigt wird, um auf einem Windows-PC Probleme mit dem Speicher-Management zu beheben. Manchmal müssen Administratoren aber eben auch tiefer graben, um Probleme zu lösen. In diesem Fall ist der Griff zum Task-Manager in Windows 7 sinnvoll. Das gilt übrigens im Speziellen auch für Windows 8/8.1, denn hier hat Microsoft den Task-Manager noch einmal deutlich aufgewertet. Alles was mit Windows 7 möglich ist, können Administratoren und Anwender aber auch mit Windows 8/8.1 durchführen.  

Von Windows XP über Windows Vista bis Windows 7 und 8 verfügen alle Windows-Versionen über den Task-Manager inklusive einem Performance-Register für das Messen der Systemleistung, und trotzdem gibt es natürlich deutliche Unterschiede. In Vista und Windows 7 stehen Nutzern nämlich im Vergleich zu älteren Versionen über die Schaltfläche Ressourcenmonitor im Task-Manager noch einige Zusatzfunktionen zur Leistungsmessung zur Verfügung.

Mit dem Ressourcenmonitor lassen sich seit Windows Vista/7 noch umfassender Leistungsprobleme finden und lösen.

Praxisbeispiele für den Einsatz des Task-Managers

Viele Dienste laufen zum Beispiel über die Datei svchost.exe. Aus diesem Grund wird diese Datei auch oft mit einem Virus verwechselt. Diese Datei taucht als Prozess auf jedem Rechner einige Male im Task-Manager in der Liste der laufenden Prozesse auf. svchost.exe liegt im System32-Verzeichnis und wird beim Systemstart von Windows automatisch als allgemeiner Prozess gestartet. Der Prozess durchsucht beim Systemstart die Registry nach Diensten, die beim Systemstart geladen werden müssen. Dienste, die nicht eigenständig lauffähig sind, sondern über DLL-Dateien (Dynamic Link Library) geladen werden, werden mit Hilfe der svchost.exe geladen.

Auch wenn Windows läuft, kommt die svchost.exe immer dann ins Spiel, wenn Dienste über DLL-Dateien geladen werden müssen. Das Betriebssystem startet SVCHOST-Sessions, sobald solche benötigt werden, und beendet diese auch wieder, sobald sie nicht mehr gebraucht werden. Da unter Windows die unterschiedlichsten Dienste parallel laufen, können auch mehrere Instanzen der svchost.exegleichzeitig in der Prozessliste auftauchen. Über den Befehl tasklist/svc in der Befehlszeile können Administratoren und Anwender sich anzeigen lassen, welche Anwendungen auf die svchost.exe zurückgreifen. Alternativ lassen sich die mit der svchost.exeverbundenen Dienste auch im Task-Manager anzeigen:

  1. Öffnen Sie den Task-Manager.
  2. Aktivieren Sie die Registerkarte Prozesse.
  3. Klicken Sie mit der rechten Maustaste auf eine Instanz von svchost.exe und klicken Sie im zugehörigen Kontextmenü auf Zu Dienst(en) wechseln. Die dem betreffenden Prozess zugeordneten Dienste werden auf der Registerkarte Dienste hervorgehoben.

Im Task-Manager können Administratoren die Dienste anzeigen lassen, die zu einem SVCHOST-Prozess gehören.

Der Ressourcenmonitor zeigt zudem Auslastung des Netzwerks, der Festplatte und CPU an. Anwender erhalten also schnell eine Übersicht zu den wichtigsten Ressourcen im Rechner. Über den Task-Manager lässt sich dann auch sehr schnell feststellen, welcher Prozess und damit auch welcher Dienst für die Auslastung verantwortlich ist. Wenn zum Beispiel der Arbeitsspeicher voll ausgelastet ist, muss Windows Daten auf die Festplatte auslagern. Das erhöht wiederum die Zugriffe auf die Festplatte. Diese Zusammenhänge lassen sich über den Task-Manager recht schnell erkennen.

Anwender können den Task-Manager durch einen Klick mit der rechten Maustaste auf die Taskleiste über dessen Kontextmenü aufrufen. Alternativ kann der Task-Manager auch über die Tastenkombination „Strg“ + „Alt“ + „Entf“ aufgerufen werden oder indem taskmgr im Startmenü eingegeben wird. Im angezeigten Dialogfeld finden Sie verschiedene Schaltflächen vor. Der Task-Manager stellt in Windows 7 insgesamt sechs Registerkarten bereit:

Auf der Registerkarte Anwendungen erhalten Administratoren und Anwendern einen Überblick über die aktuell laufenden Anwendungen. Angezeigt wird der Status dieser Anwendungen. Darüber hinaus können Administratoren über das Kontextmenü der Anwendungen steuern, wie diese Anwendungen angezeigt werden sollen. Zusätzlich können hier laufende Anwendungen (Tasks) beendet werden, zu Anwendungen gewechselt oder über die Schaltfläche Neuer Task auch neue Anwendungen gestartet. Diese zuletzt genannte Funktion entspricht dem Befehl Ausführen aus dem Startmenü.

Noch interessanter ist die Registerkarte Prozesse. Hier erhalten Administratoren einen Überblick über die gerade aktiven Prozesse. Dabei handelt es sich nicht nur um Anwendungen, sondern auch um die gesamten Systemdienste, die im Hintergrund ausgeführt werden. Zu jedem dieser Prozesse werden Informationen über die Prozess-ID (PID), den aktuellen Anteil an der Nutzung der CPU, die insgesamt in dieser Arbeitssitzung konsumierte CPU-Zeit sowie die aktuelle Speichernutzung angezeigt. 

Gerade diese letzte Information ist von besonderem Interesse, da sie darüber informiert, in welchem Umfang Anwendungen den Hauptspeicher tatsächlich nutzen – ohne dass man komplexe Parameter im Systemmonitor überwachen muss.

Von besonderem Interesse ist im Ressourcen-Monitor das Verhältnis von insgesamt zugesichertem virtuellen Speicher und dem physisch vorhandenen Hauptspeicher. Wenn mehr virtueller Speicher zugesichert als im System vorhanden ist, muss auf jeden Fall ausgelagert werden. Die Registerkarten Netzwerk und Benutzer im Task-Manager ergänzen die Registerkarte Leistung mit weiteren aktuellen Informationen zur Systemleistung. Über die Befehle im Menü Optionen können Administratoren einige Einstellungen zum Verhalten des Task-Managers vornehmen.

Erkennung von Speicherlecks mit dem Task- Manager

Speicherlecks sind in der Regel recht einfach zu diagnostizieren, wenn Administratoren die richtige Methode verwenden und die richtigen Daten sammeln. Wenn eine Anwendung beendet wird, gibt Windows die dazugehörigen Arbeitsspeicherseiten frei, damit der Speicher wieder für andere Anwendungen genutzt werden kann. 

Daher besteht für Anwender natürlich zunächst die Möglichkeit, Anwendungen zu beenden, um Speicher für andere Anwendungen freizugeben. Vor allem Anwender, die mit vielen Programmen gleichzeitig arbeiten und deren Rechner nur wenig Arbeitsspeicher hat, können mit dieser Vorgehensweise einiges an Arbeitsspeicher freimachen.

Teilweise geben allerdings Anwendungen nicht immer ihren Speicher frei, sodass dieser auch nach der Beendung des Programmes noch genutzt wird. Hier hilft nur ein Neustart des Rechners.

Das größte Problem vieler Computer sind zu viel gestartete Programme, da sich viele Tools und Zusatzprogramme in die verschiedenen Autostart-Funktionen von Windows einklinken. Zum einen dauert dann das Starten des Computers unnötig lange, zum anderen benötigt jedes gestartete Programm Arbeitsspeicher, der bei jedem Computer begrenzt ist. Der erste und wichtigste Schritt zum Performance-Tuning besteht daher darin, die Autostartprogramme zu identifizieren und diejenigen auszuschalten, die nicht benötigt werden.

Manuell ist das schon lange nicht mehr möglich, da Windows neben dem Autostart-Menü zahlreiche weitere Stellen hat, über die Programme beim Booten mitgestartet werden. Um diese Programme zu identifizieren, bietet sich das kostenlose Tool AutoRuns der Microsoft Sysinternals an. Neben der Identifizierung von Trojanern und Viren, die beim Starten des Computers automatisch geladen werden, hilft das Tool auch dabei, Systembremsen zu lösen, indem unnötige Programme aus den Autostart-Einträgen entfernt werden.

Eine Installation ist nicht notwendig, da AutoRuns nach dem Entpacken sofort gestartet werden kann. Autostart-Einträge können direkt aus dem Tool heraus deaktiviert und gelöscht werden. Zunächst sollten allerdings nur Programme aus den Einträgen gelöscht werden, die bekannt sind. Unbekannte Einträge sollten von experimentierfreudigen Benutzern erst deaktiviert und dann entfernt werden, wenn die Deaktivierung keine Probleme bereitet. 

Um die Speicherfresser zu identifizieren reicht es, den Task-Manager per Rechtsklick auf die Taskleiste aufzurufen. Über die Registerkarte Prozesse kann nach dem Verbrauch des Arbeitsspeichers sortiert werden, in dem auf die entsprechende Spalte geklickt wird.

Arbeitsspeicher mit der Leistungsüberwachung optimieren

Die Überwachung des Arbeitsspeichers übernehmen Administratoren am besten mit der Leistungsüberwachung statt mit dem Task-Manager. Die Leistungsüberwachung startet am schnellsten über die Eingabe von perfmon.msc. Für die Überwachung bieten sich folgende Leistungsindikatoren an:

Arbeitsspeicher: Verfügbare Bytes -- Gibt an, wie viele Bytes an Arbeitsspeicher derzeit für die Verwendung durch Prozesse verfügbar sind. Niedrige Werte können ein Anzeichen dafür sein, dass insgesamt zu wenig Arbeitsspeicher auf dem Computer vorhanden ist, oder dass eine Anwendung keinen Arbeitsspeicher freigibt.

Arbeitsspeicher: Seiten/s -- Gibt die Anzahl der Seiten an, die wegen Seitenfehlern vom Datenträger gelesen oder auf den Datenträger geschrieben wurden, um Speicherplatz aufgrund von Seitenfehlern freizugeben. Ein hoher Wert kann auf überhöhte Auslagerungen hindeuten. Um sicherzustellen, dass die Datenträgeraktivität nicht durch Auslagern verursacht wird, können Administratoren zusätzlich noch Seitenfehler/s überwachen.

Tasks in der Befehlszeile verwalten

Mit dem Befehlszeilentool Tasklist können sich Administratoren eine Liste der Anwendungen und Dienste mit der dazugehörigen PID (Prozess-ID) für alle Tasks anzeigen lassen. Der Befehl hat die Syntaxtasklist.exe /s <Computer>.  Mit dem Parameter /s <Computer> geben Administratoren den Namen oder die IP-Adresse eines Remotecomputers an. Diese Liste kann auch zum späteren Ausdruck mit dem Befehl tasklist > C:\tasks.txt in eine Text-Datei umgeleitet werden.

Während Administratoren mit tasklist.exe eine Liste der Tasks ausgeben, können sie mit taskkill <PID> einen Prozess beenden. Mit dem Parameter /t lassen sich  alle untergeordneten Prozesse zusammen mit dem übergeordneten Prozess abzubrechen.

Folgen Sie SearchDataCenter.de auch auf Facebook, Twitter und Google+!

Erfahren Sie mehr über Desktop-Management

ComputerWeekly.de
Close