.: Daniel Melanchthon :.

Banging your head against a wall uses 150 Calories an hour.

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

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

  • Comments 24
  • Likes

...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
  • 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 :-)

  • 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.

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

  • Also hier in der Firma haben wir mehrer Business-Lizenzen laufen, und meine Aufgabe war es u.a. herauszufinden, ob Vista auf den Standard-PC's läuft, die wir nutzen.

    Mein Fazit:

    Alles bis auf Aero lief, es sollten nur mind. 1 GB RAM vorhanden sein. Warum? Hier wird viel mit Visual Studio gearbeitet. Und Vista + Outlook (ist ja nicht grade als Ressourcenschoner bekannt + Visual Studio) zwingen einen 512er schnell in die Knie. Fenster kann man nur noch ruckelnd verschieben (was mir übrigens auch bei älteren GraKa's auffiel), und Fenster bleiben ziemlich lange weiß.

    Aber mit 'nem GigaByte RAM lässt sich's unter Vista ganz gut leben.

    Einziges Manko:

    Selbst die Standard-Oberfläche ohne Aero-Effekt ruckelt extrem mit älteren GraKa's. Eigentlich schade...

    Grüße,

    Leon

  • 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....

  • Hallo David,

    auch mir konntest du diese Angst nehmen. Es freut mich sehr, das Windows endlich solch ein schoen einfach zu nutzendes "Sprachrohr" zu den Usern hat. Doch wie Frank schon andeutet solltet ihr euch ein Konzept überlegen, wie ihr diese "FUD"s oder diese "Stille-Post" besser, ich sagen mal, "Verwalten" könnt. Wir als Admins koennen zwar versuchen andere Texte in den Kreislauf der Stillen Post zu geben, aber wir können damit auch nur einen kleinen Teil von Usern erreichen. Ich denke da habt ihr ein größeres Potential zu.

  • 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).

  • Hallo Olaf,

    nimm den Ressourcenmonitor und schau Dir an, was die Festplatte auslastet. Möglicherweise ist es die Suchindizierung - die läuft im Hintergrund mit low priority. Du kannst den Rechner auch einfach mal eine Nacht anlassen - dann ist der Index erstellt und die Festplatte gibt Ruhe.

    VG, Daniel

  • 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

  • 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

  • Vielen Dank für diesen guten Beitrag.

    War sehr verständlich und Hilfreich.

  • 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

  • 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

  • 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

  • Lieber Daniel,

    nein, diesen Blog meinte ich nicht, obwohl dieser auch interessant ist. Es ist ja klar, dass mehr Features mehr Rechenleistung brauchen.

    Zum Autovergleich:

    Nein, das ist nicht zu vergleichen, weil es eher ein "Feature" als etwas Grundlegendes ist.

    Zwar würde niemand behaupten, dass bei einem Auto das 4-Räder-und-ein-Lenkrad-Design geklaut wäre, aber wenn jemand ein dynamisches Kurvenlicht erfindet und auch einbaut, und die Konkurrenz dies übernimmt, kann man es durchaus als "klauen" bzw. "kopieren" bezeichnen.

    Bei SELinux ist dieses einfache Abfragen auch nicht mehr möglich, desweitern, so "einfach" ist es unter Ubuntu auch nicht mehr. Wenn man zB das zwei Jahre alte Ubuntu 5 mit der UAC vergleicht, tuen sich auf der Benutzerebene ziemliche Ähnlichkeiten auf:

    Bei Ubuntu wird der Bildschirm erst grau, und dann wird man nochmal nach dem Admin-Passwort gefragt. UAC: Genau das selbe. Merkwürdig, ne?

    Die technische Ausführung ist natürlich etwas anders, aber Linux und Windows kann man ja nicht direkt vergleichen.

    mfg funrun

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment