다음을 통해 공유


Die grösste Angst des PC-Nutzers...

...ist nach einem Kommentar auf meinem Blog, dass Daten in die Swap-Datei ausgelagert werden, weil dann sein System langsam wird. ... Jetzt ist es natürlich für den Normalnutzer ein Bedrohung seiner Lebensqualität, wenn er hört, dass Vista "viel mehr Arbeitsspeicher" verwendet (braucht).

Immer wieder liest und hört man die Aussage, dass Windows Vista einen überdimensionalen Speicherbedarf hat. Als Grundlage wird dann die Auslastung des Hauptspeichers basierend auf der Angabe des Taskmanagers herangezogen. Was ist da nun eigentlich dran?

Windows Vista nutzt eine Technik namens SuperFetch als Speichermanager. SuperFetch analysiert im Hintergrund die Nutzung des Hauptspeichers über die Zeit, solange der Benutzer mit dem Rechner arbeitet und dieser eingeschaltet ist. Aus diesen Informationen bildet es Vorhersagen basierend auf den statistischen Daten und einer intelligenten Wahrscheinlichkeitsrechnung, welche Hauptspeicherinhalte zu einer bestimmten Zeit möglicherweise benötigt werden. Diese Inhalte werden dann schon in den freien Hauptspeicher vorgeladen, damit sie sofort zur Verfügung stehen, wenn der Benutzer sie tatsächlich braucht.

Ein kleines Beispiel verdeutlicht diesen Effekt: Ich starte jeden Morgen Outlook 2007, um meine Emails zu lesen, wenn es nicht schon im Hintergrund läuft. Ich nutze Groove 2007, Office Communicator 2005 und eine kleine Anwendung mit dem Namen PureText, um über Windows-Taste + V Text aus der Zwischenablage ohne Formatierung einfügen zu können. Weiterhin starte ich regelmäßig Windows Mail, um in den Microsoft Newsgroups Fragen zu beantworten  Letzteres ist schon fast eine Entspanungsaufgabe - mein bisheriger Zimmerkollege konnte schon am Klang des Tastaturanschlags erkennen, wann es bei mir wieder soweit war ;-)

SuperFetch weiss mittlerweile, dass ich diese Anwendungen regelmäßig benötige und lädt die dafür notwendigen Speicherseiten im Hintergrund in den Physical Memory Cache vor. Von dort können diese Seiten, wenn sie tatsächlich benötigt werden, direkt in den Working Set geladen werden, anstatt sie dann von der Festplatte lesen zu müssen. Hier spielt die deutlich geringere Latenz von Hauptspeicher (~0.0001 ms) gegenüber Festplattenzugriffen (~0.5–24 ms) die entscheidende Rolle.

Wenn der Computer über nicht genügend freien Arbeitsspeicher verfügt, kommt ReadyBoost und/oder ReadyDrive ins Spiel. Mit Hilfe dieser neuen Techniken in Windows Vista können Anwender zusätzlichen Flashspeicher für derartig vorgeladene Speicherseiten von SuperFetch benutzten, welcher a) sehr kostengünstig ist, b) ohne Öffnen des Computers einfach hinzugefügt werden kann und c) auch eine Erweiterung von Computern ermöglicht, deren maximaler Hauptspeicherausbau schon erreicht wurde. Das Ergebnis sind subjektiv deutlich schnellere Startzeiten der jeweiligen Programme, die man oft benutzt.

Als Beispiel haben wir einen Workload auf einem PC simuliert. Die Hauptspeicherausstattung des Computers lag bei der Minimalempfehlung von 512 MB. Wir ermittelten die Ablaufgeschwindigkeit des Workloads bei 512 MB RAM und verglichen sie mit Testläufen, bei denen zusätzlicher Flashspeicher für ReadyBoost eingebunden war (512 MB, 1GB und 2 GB).

Das Ergebnis zeigt den Vorteil des neuen Speichermanagements. Während der Computer mit 512 MB RAM den Workload in 42,45 s bewältigte, sank die benötigte zeit mit 512 MB Flashspeicher auf 27,12 s. Mehr Flashspeicher steigerte die Abarbeitungsgeschwindigkeit nur noch marginal - mit 1 GB benötigte der Computer 25,21 s, mit 2 GB nur noch 24,72 s.

Kommen wir nun zurück zu der grössten Angst des PC-Nutzers. Vor Windows Vista wurde Speichermanagement primär für Umgebungen optimiert, in denen Programme häufig mehr Arbeitsspeicher beötigen, als das System zur Verfügung stellen kann. Das Betriebsystem nutzt dann einen Speichermanagement Algorithmus, der den Low Memory Effekt vermeiden hilft. Geht einem Computer der freie physikalische Arbeitsspeicher aus, schafft das Betriebsystem Platz durch das Verlagern von derzeit nicht verwendeten Speicherseiten in eine Auslagerungsdatei auf der Festplatte. Dieser Vorgang wird On-Demand Paging (von pagefile = Auslagerungsdatei) oder Least Recently Used (LRU) Memory Management genannt.

Die Angst, dass SuperFetch in Windows Vista jetzt zu vermehrtem Paging führt, weil es kostbaren Arbeitsspeicher belegt, ist unbegründet. Als Beleg dafür schauen wir eimal auf einige Screenshots, die ich von meinem Computer während der laufenden Arbeit angefertigt habe:

Was ist dort zu sehen? Der erste Screenshot zeigt meinen PC im Normalbetrieb. Ich habe eine Reihe von Anwendungen offen - in Summe laufen 75 Prozesse. Der Wert für den Arbeitsspeicher, den der Task-Manager an dieser Stelle anzeigt, ist zwar nicht wirklich der genutzte Arbeitsspeicher, aber für diesen kleinen Versuch ist die Angabe hinreichend genau. Mein Speicherbedarf liegt also bei 841 MB. Klingt erstmal nach ganz schön viel.

Als nächste Schritt starte in Virtual PC 2007 eine virtuelle Maschine, welcher 1 GB RAM zugewiesen sind. Die Auslastung steigt abrupt auf ~1.6 GB und fällt danach leicht auf 1.58 GB ab. Das ist allerdings deutlich weniger, als von den meisten erwartet. Eigentlich sollten 841 MB  + 1.024 MB  = 1.865 MB sein. Windows Vista benötigt aber ~200 MB weniger.

Der dritte Screenshot zeigt die Situation nach dem Abschalten der virtuellen Maschine. Die Arbeitsspeicher-Anzeige sinkt auf 602 MB. Das sind 239 MB weniger als vorher.

Natürlich ist dieser Test sehr einfach gestrickt und nicht exakt reproduzierbar - er ist aber hinreichend einfach, so dass er von jedem auf dem eigenen PC nachvollzogen werden kann. Die stärkere Nutzung des Physical Memory Caches in Windows Vista führt also nicht zu erhöhtem Paging.

Zum Schluss noch ein Hinweis für alle, die mehr mit den Performancedaten experimentieren möchten. Windows Vista enthält einen neuen Ressourcenmonitor, der viel detaillierter als der Taskmanager anzeigt, was auf dem Computer alles so vorgeht. Aufrufbar über den Taskmanager auf dem Leistungstab über den Ressourcenmonitor-Button stellt er Informationen über CPU, Datenträger, Netzwerk und Hauptspeicher zur Verfügung. Darüber kann man zum Beispiel sehr schnell sehen, welche Anwendung besonders viel CPU-Zeit, Festplatten-IO oder Hauptspeicherauslastung verursacht.

Hier sind auch neue Funktionen wie Low Priority IO einsebar - zum Beispiel verbraucht der Suchindex-Dienst keine anderweitig benötigten Systemressourcen, sondern arbeitet dann, wenn freie Ressourcen zur Verfügung stehen. Dafür sind schon sehr kleine Pausen des Anwenders ausreichend. Also nicht verwundert sein, wenn die Festplatte des Computers nach der Installation von Windows Vista zu Beginn auch rattert, wenn der Computer scheinbar im Leerlauf ist. Das ist kein Anzeichen für Paging und der Rechner wird dadurch nicht signifikant verlangsamt. Viele Anfragen von Kunden zeigen jedoch, dass es durchaus ein psychoakkustisches Problem darstellen kann ;-)

Comments

  • Anonymous
    February 09, 2007
    Hallo Daniel, vielen Dank für diesen Artikel :-) jetzt habe ich keine Angst mehr ^^ Ihr solltet dafür ein bisschen die Werbetrommel rühren, das ist draußen bisher nicht verstanden worden (glaube ich). Danke & Grüße Frank :-)

  • Anonymous
    February 09, 2007
    Wir tun, was wir können, den FUD zu soppen, der über Windows Visa von einigen verbreitet wird. Leider ist es für diese viel spannender und umsatz-/auflagenförderlicher, wenn die Sorgen und Ängste von Anwendern geschürt werden. Vor allem das "Hörensagen" ist ja fast immer ein Stille-Pos-Ergebnis. Es freu mich aber, wenn ich Dir die Bedenken nehmen konnte.

  • Anonymous
    February 14, 2007
    Mein Kollege, Daniel Melanchthon hat einige sehr interessante Blogeinträge geschrieben, auf die ich gerne

  • Anonymous
    February 16, 2007
    The comment has been removed

  • Anonymous
    February 16, 2007
    Nun, das mag so sein. Auch bei mir ist der Speicher max. zu 53 % ausgelastet. Dafür rödelt Vista unentwegt auf der Festplatte rum, und das lastet die CPU mit schöner Regelmäßigkeit zu 100% aus, so schön, dass man das arbeiten damit für bis zu 10 Minuten vergessen kann....

  • Anonymous
    February 16, 2007
    The comment has been removed

  • Anonymous
    February 16, 2007
    interessanter Artikel. Aber hier wird nur auf die Tatsache eingegangen, das Vista scheinbar weniger Ressourcen benötigt als es eigentlich durch dumme Addition benötigen würde. Wir stehts mit der Frage nach den generell hören Ressourcenbedarf. Einen XP-Client betreibt man in der Regel sehr zufriedenstellend mit 256 bis 512MB RAM (mehr bringt keine qualitative Verbesserung). Ein Vista-Client braucht mindestens 512MB besser 1GB und beginnt wie in angegebenen Beispiel aufgezeigt mit dem Pagen (genauso wie XP es vorher tat). Will sagen, wie die vermeintlich intelligente Technologie auch immer heissen mag (SuperFetch...) ist belanglos. Es steht die Tatsache, dass wieder einmal mehr Ressourcenbedarf ansteht und keine qualitative Verbesserung einhergeht. Mal von der Tatsache abgesehen, dass diese vermeintliche RAM-Ausnutzungsstrategien auch wieder RAM benötigen und in der Vergangenheit sich schon mehrfach dubiose Entwickler daran versucht haben das Ei-des-Columbus zu verkaufen (Thema RAM-Verdopplung durch Software ist der Brüller schlechthin).

  • Anonymous
    February 16, 2007
    The comment has been removed

  • Anonymous
    February 16, 2007
    Hallo Pestalozzi, Vista benötigt mehr Speicher als Windows XP. 512 minimal, 1 GB empfohlen. Was ich beschrieben habe, ist das veränderte Verhalten beim Caching. Das hat nichts mit RAM-Verdopplung durch Software zu tun. Wenn Du der Meinung bist, dass mit Vista gegenüber XP keine qualitative Verbesserung einhergeht, schau Dir doch mal den Windows Vista Product Guide an: http://www.microsoft.com/downloads/details.aspx?FamilyID=bbc16ebf-4823-4a12-afe1-5b40b2ad3725&DisplayLang=en VG, Daniel

  • Anonymous
    February 16, 2007
    Wie schon ein M$-Programmierer sagte (Link werde ich mal rassuchen): "Alles was wir an Geschwindigkeit durch Code-Optimierung reinholen, wird durch die zwar schnelle programmierte, aber ineffiziente Programme anderer Abteilungen wieder "wettgemacht" ". Ist zwar traurig, lässt sich wohl aber nicht umgehen. @Pestalozzi Vista ist definitiv hochwertiger als XP. Schon die neue XPS-Druckkerschicht (oder wie auch immer man das nennt). Dadurch wird ein ziemlicher qualitativer Vorteil rausgeholt. Außerdem ist das neue Sicherheitskonzept auch nicht zu verachten. Ist zwar von Linux/UNIX bzw. MacOS geklaut, aber damit kann M$ ja nichts falsch machen ;-) Bloß eines hat man in der Entwicklungsabteilung wohl nicht bedacht: die neue Oberfläche in Verbindung mit einem 1024x768 Pixel Röhrenmonitor verursacht höllische Kopfschmerzen. Ich hoffe nur, dass das "alte" Luna-Theme von XP auch wieder angeboten wird. Also nur Aero (Basic) oder Win2k ist doch etwas wenig. mfg Leon

  • Anonymous
    February 16, 2007
    Vielen Dank für diesen guten Beitrag. War sehr verständlich und Hilfreich.

  • Anonymous
    February 17, 2007
    Das klingt schön. Da ich mein Vista-update aus den Niederlanden noch nicht bekommen habe arbeite ich mit der Beta2/RC1. Auf einem Rechner mit 1 GB RAM und 128 MB Grafikspeicher läßt sich nicht mal ein mpg-2-Video starten. Fehlermeldung: Es ist zu wenig Speicherplatz vorhanden. Dabei ist dann eigentlich egal wie das Speichermanagement arbeitet. VG, Roman

  • Anonymous
    February 17, 2007
    Hallo Roman, der mitgelieferte MPEG-Decoder in den RC-Versionen ist zeitbeschränkt. Wahrscheinlich ist er bei Dir abgelaufen - daher kannst Du das Video nicht abspielen. Die Fehlermeldung ist in diesem Fall etwas verwirrend. Übrigens liegt die Geschwindigkeit der finalen RTM-Version deutlich über den RC-Veröffentlichungen und die wiederum waren schon Lichtjahre schneller als die Beta2. VG, Daniel

  • Anonymous
    February 17, 2007
    Hallo Leon, Du meinst wahrscheinlich folgeden Blogeintrag von Mark Russinovich: While features such as Superfetch, a scenario-based memory management system, and I/O prioritization help to improve the performance of the operating system from an end-user perspective, the addition of constant search indexing, the side bar with its gadgets, the defragmenter, and regular volume snapshots all conspire to erode their gains. http://blogs.technet.com/markrussinovich/archive/2006/07/31/the-first-week.aspx Das hat nichts mit ineffizienten Programmen zu tun - neue Funktionen wie zum Beispiel regelmäßige Schattenkopien und die neue Suche verbrauchen halt auch Ressourcen. Das neue Sicherheitskonzept ist auch nicht von Linux/UNIX bzw. MacOS "geklaut". Natürlich sind Konzepte betriebsystemübergreifend oft ähnlich. Um mal die vielgemühten Autovergleiche heranzuziehen: 4 Räder und ein Lenkrad haben die meisten Autos heutzutage - trotzdem würde niemand behaupten, das wäre "geklaut". Wenn Du Dir aber mal die Mühe machst und die Lösungen vergleichst, wirst Du sehen, welche Unterschiede UAC gegenüber anderen aufweist. Dinge wie zum Beispiel der Secure Desktop sind dort nicht implementiert, was Angriffsvektoren gegen den Dialog ermöglicht. Das Abfragen von Benutzernamen+Kennwort kann bei Linux/UNIX bzw. MacOS von Malware durch einen gleichartigen Phishing-Dialog ausgenutzt werden, um die Daten des administrativen Kontos auszulesen. Nicht zu vergessen die Nightmare rund um sichere SetUID Programmierung unter Linux/UNIX. VG, Daniel

  • Anonymous
    February 17, 2007
    The comment has been removed

  • Anonymous
    February 17, 2007
    The comment has been removed

  • Anonymous
    February 18, 2007
    The comment has been removed

  • Anonymous
    February 18, 2007
    The comment has been removed

  • Anonymous
    February 19, 2007
    Tja, der einzigste der da verdächtig auftaucht ist der SearchIndexer. Und dabei habe ich die Indizierung abgeschaltet...

  • Anonymous
    October 19, 2007
    Ok, auch wenn Bill Gates das nie wirklich gesagt hat ist es ein bekannter Satz, den ich hier mal "auf die Schippe nehme". Mein geliebtes Denkbrett (IBM Lenovo Thinkpad) musst neu installiert werden, da das Windows XP v�llig "verfriemelt&