PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum lagert Windows trotz ausreichend Ram auf pagefile.sys aus?


Snoopy69
2008-12-14, 13:03:01
Kann mir jmd erklären, warum Windows (Vista x64) trotz ausreichend Ram (4GB) auf pagefile.sys schreibt und davon liest?
Mein Ram ist garantiert nie voll (max. 70%). Ich frage mich, ob es deshalb nicht besser wäre auf 8GB aufzurüsten und dann pagefile.sys auf die Software-Ramdisk auszulagern.

Hier eine Ramdisk. Wichtig sind insbesondere die 4k-Werte...

http://www.abload.de/img/hc_4530mev.jpg

Gast
2008-12-14, 13:17:57
Windows benutzt das pagefile u.a. als temporären Cache. IconCache, DateiCache oder was auch immer. Bringt Speed beim Benutzen beim nächsten Neustart.

Was jammert ihr immer über die Auslagerungsdatei? Habt ihr so megalaute Platten oder könntet ihr mit abgeschlatetem Pagefile einen Geschwindigkeitsvorteil MESSEN? :|

Macht euch eine ~2.05GB Partition auf einer Platte wo C: NICHT liegt, konfguriert das pagefile dahin und stellt es auf min/max 2GB. Und hört auf zu jammern, Poweruser :uup:

PatkIllA
2008-12-14, 13:19:54
Es könnte ja mal vorkommen, dass ein speicherintensives Programm gestartet wird und dann müsste erst mühsam ausgelagert werden. Solange der Rechner sonst nichts zu tun hat passt das schon.
Ich frage mich wann endlich die unsinnige Idee ausstirbt die Auslagerungsdatei auf eine RAM-Disk zu legen ausstirbt. Dann gleich ausstellen, wenn man keine Programme hat die eine wollen und auch sonst den Speicher nicht nutzen können.

Windows benutzt das pagefile u.a. als temporären Cache. IconCache, DateiCache oder was auch immer. Bringt Speed beim Benutzen beim nächsten Neustart.
Da hätte ich doch gerne mal eine Quelle für das Inhalte der Pagefile nach einem Neustart noch benutzt werden.

Snoopy69
2008-12-14, 13:28:59
Ich frage mich wann endlich die unsinnige Idee ausstirbt die Auslagerungsdatei auf eine RAM-Disk zu legen ausstirbt.
Warum? Weil hin und wieder auf pagefile.sys ausgelagert wird ohne dass man dagegen was tun kann.
Und ganz abschlaten ist das Dümmste was man tun kann. Da darf man sich nicht wundern, wenn die Kiste unerwartet komische Sachen macht.
Und nun soll mir jmd eine HDD zeigen, die mehr als 6GB/s. leistet.

Zur Info...
Eine Raptor schafft bei 4k random write gerade mal 1,4MB/s. (die Ramdisk 788MB/s.)
Und wenn gerade auf der pagefile.sys herumgerödelt wird, kann man sich ja vorstellen was schneller ist.


@ gast

Der Tip ist schon uralt.
Warum nutzt Windows nicht was von den übrigen 30% Ram für IconCache etc.?

PatkIllA
2008-12-14, 13:31:05
Warum? Weil hin und wieder auf pagefile-sys ausgelagert wird.Nicht wenn man sie einfach abschaltet.

Snoopy69
2008-12-14, 13:35:09
Lies noch mal oben bitte :wink:

PatkIllA
2008-12-14, 13:39:11
Zumindest seit XP kommt Windows auch mit dem Abschalten zurecht.
Und bei Auslagerungsdatei mit fester Größe in der RAM-Disk ist der Speicher sogar noch schneller aus, weil die Aufteilung völlig unflexibel ist.
Ich hab unter XP seit Jahren keine Auslagerungsdatei mehr.

Es gibt ein paar Programme die dann zicken, aber das ist dann schlecht programmiert, weil es ein User-Space Programm überhaupt nicht zu interessieren hat, ob es physikalischen RAM oder nur virtuellen hat. Zumal es zumndest bei 32Bit eh nicht mehr als 2 GiB nutzen kann. Wegen Adressraumfragmentierung meist sogar noch ein paar hundert MB weniger.

Snoopy69
2008-12-14, 13:46:44
Ich kann die Ramdisk staisch oder dynamisch einstellen. Von daher kein Problem.

Und wer kann mir das erklären?
Warum nutzt Vista nicht die freien 30% Ram. Das sind ca. 1230MB freie Kapazität. Die Belegung in der pagefile.sys ist aber wesentlich weniger als 1230MB. In meinen Fall momentan ca. 310MB.
Windows schiebt also die 310MB auf die viel langsamere HDD, obwohl das Gleiche noch 4x in den viel schnelleren Ram passen würde. Ich finde das total unlogisch.

PatkIllA
2008-12-14, 13:51:01
Die Auslagerungsstrategien wissen halt vorher nicht, was später kommen und da kann es nicht schaden beim idlen schon mal was auszulagern. Stichwort Onlinealgorithmus.
Da der Rechner sich eh dauernd langweilt hast du da auch keine Nachteile durch.
Da schreiben auf Platte bedeutet auch nicht, dass es gleich aus dem RAM verdrängt wird. Der RAM könnte bei Bedarf aber sofort freigegeben werden, während sonst erst zig Sekunden auf die Platte geschrieben werden müsstest. Das wäre ein massiver Nachteil, während du so nur schlimmstenfalls mal das Klackern der Platte hörst. Für den allgemeinen Fall ist es halt die bessere Strategie.
Lies doch mal ein ordentliches Buch über Betriebssysteme.
Ein bisschen ist da aber auch immer noch ein Verhalten wie früher drin, wo der Arbeitsspeicher quasi immer zu klein war. Da war schon beim Programmwechseln die Festplatte am Ackern.

Snoopy69
2008-12-14, 14:00:13
Warum kann man Windows nicht so programmieren, dass es erst bei zb 100MB freiem Ram auslagert?

Die Bücher bringen mich nicht weiter, wenn trotzdem unnötigerweise mehr als 1GB Ram frei bleiben und mehrere hundert MB im Swap landen. Bisher konnte mir keiner erklären, warum das nicht stattdessen im Ram sein kann.


Hier mal ein Beispiel von unnötigen Schreib-/Lesezugriffen trotz mehr als 1GB freiem Ram.

http://www.abload.de/thumb/hc_344cqhm.jpg (http://www.abload.de/image.php?img=hc_344cqhm.jpg)http://www.abload.de/img/hc_344cqhm.jpg

PatkIllA
2008-12-14, 14:07:17
Warum kann man Windows nicht so programmieren, dass es erst bei zb 100MB freiem Ram auslagert?
Weil das ein massiver Einbruch wäre, wenn du dann ein Programm startest, dass mehr als 100MB braucht.

Die Bücher bringen mich nicht weiter, wenn trotzdem unnötigerweise mehr als 1GB Ram frei bleiben und mehrere hundert MB im Swap landen. Bisher konnte mir keiner erklären, warum das nicht stattdessen im Ram sein kann.Ich hab das Beispiel mit dem Starten des speicherintensiven Programms schon mehrfach gebracht.
Und auf in die Pagefile geschrieben bedeutet noch nicht, dass die Daten nicht mehr im RAM liegen.
In den Büchern steht das halt noch eine ganze Ecke tiefergehend und auch noch ausgerechnet wieviel welche Strategie bringt. Und die Strategie kann man sich bei Windows halt nicht aussuchen. Erst auszulagern, wenn der Speicher aufgebraucht ist, ist quasi immer die schlechteste.

Snoopy69
2008-12-14, 14:11:46
Weil das ein massiver Einbruch wäre, wenn du dann ein Programm startest, dass mehr als 100MB braucht.


Ja aber verstehst du mich nicht?
Wären die 310MB im Ram, wären noch ca. 900MB Ram frei und käme nie an diese 100MB-Grenze.

So wie du es beschreibst will man umgehen, dass irgendwann an einem Stück länger ausgelagert wird und nicht in Raten so wie es jetzt ist.
Soll das die Strategie sein? :rolleyes:

Wenn ich nun mein System mit 8 oder 16GB Ram ausstatte wird immernoch ausgelagert, obwohl ich NIEMALS 50% des Ram´s ausnutzen könnte. Somit ist Auslagern so ziemlich sinnfrei bzw. Windows zu dumm, um alles im Ram zu lassen.

PatkIllA
2008-12-14, 14:15:54
Ja aber verstehst du mich nicht?
Wären die 310MB im Ram, wären noch ca. 900MB Ram frei und käme nie an diese 100MB-Grenze.Dann startest du halt ein Spiel was 1,5GB braucht und schon hast du das gleiche Problem nur mit anderen Zahlen.
Der Rechner hat doch vorher eh nichts zu tun. Bei 300 MB zusätzlich auszulagernden Daten und bei den Transferraten der Platte im ein-bis unteren zweistelligen MB-Bereich wartest du eine halbe Minute zusätzlich.
Was verlierst du denn durch das Auslagern?

Wenn du weißt, dass du genug RAM hast kannst du die Auslagerungsdatei immer noch ausschalten.
Auch wenn du jetzt 16 GiB reinpackst kann es immer noch sein, dass da mal irgendjemand Programme mit einen eben solchen Bedarf hat. Deshalb wären feste Grenzen ziemlich kontraproduktiv.
Ich hätte ja auch nichts dagegen, wenn man da noch was einstellen könnte, aber für den Normalfall passt das schon.

Snoopy69
2008-12-14, 14:22:37
Wenn du weißt, dass du genug RAM hast kannst du die Auslagerungsdatei immer noch ausschalten.
Es hat doch aber einen Grund warum Windows auslagern will. Zu wenig Ram ist es mal nicht - völlig ausgeschlossen. Und wenn ich an ein schlecht programmiertes Programm komme, fangen evtl. die Probleme an.

Die Zugriffe, die du oben in dem Bild siehst finde ich jedenfalls total unnötig, da es sich auch im Ram abspielen könnte. Für mich einfach unlogisch.

PatkIllA
2008-12-14, 14:26:01
Es hat doch aber einen Grund warum Windows auslagern will.Weil der Speicher evtl. später für was anderes gebraucht werden könnte.
Zu wenig Ram ist es mal nicht - völlig ausgeschlossen.
Völlig ausgeschlossen ist das für das OS schon mal nicht.
Und wenn ich an ein schlecht programmiertes Programm komme, fangen evtl. die Probleme an.Wenn sich das auf das Abschalten der Pagefile bezieht, dann läuft halt das Programm nicht.
Die Zugriffe, die du oben in dem Bild siehst finde ich jedenfalls total unnötig, da es sich auch im Ram abspielen könnte. Für mich einfach unlogisch.
Du weißt im Nachhinein, dass es nicht nötig war. Dein OS kann das aber vorher nicht wissen. Stichwort Online-Algorithmus (http://de.wikipedia.org/wiki/Online-Algorithmus).
Lies dich doch einfach mal ein paar Stunden in die Problematik ein.

Lyka
2008-12-14, 18:48:05
was nützt es, zu wissen, warum es so ist, wenn es keinerlei Verbesserung bringt. Es löst Kopfschmerzen auch nicht akut, wenn man weiss, daß man welche hat, und warum man welche hat^^

Gast
2008-12-15, 00:40:00
Der Tip ist schon uralt.Das waren keine Tipps sondern nur eine Erinnerung an das Grundsätzliche ;)

Warum nutzt Windows nicht was von den übrigen 30% Ram für IconCache etc.?Tut es. Es ist aber vom Vorteil, wenn Teile dieses Caches auch nach einem Neustart vorhanden sind. Mit den "uralten Tipps" kostet es keinen Deut an Speed. Im Gegensatz. Oder kannst du mit irgendwelchen Benches dienen?
Oder hast du nur eine Phobie was das Aufflackern der HDD-LED angeht?

Snoopy69
2008-12-15, 06:49:02
Teile nach einem Neustart vorhanden?
Aber worin liegt da der Sinn, ob von C:\ normal geladen wird oder von Swap? Beides kommt von HDD.

Den Bench oben von der Ramdisk hast du ja gesehen. Wenn man da noch Temp-Files und Browercaches auslagert merkt man das schon.


@ Lyka

Eine Lösung gibt es wohl nicht. Ich denke aber nicht, dass es von Nachteil ist pagefile.sys auf eine Ramdisk auszulagern. Vorausgesetzt es ist genug Ram da (zb 8GB)


@ all

Er hier scheint sehr fit in der Materie zu sein. Interessant :)

http://www.forumdeluxx.de/forum/showpost.php?p=10833453&postcount=80

Black-Scorpion
2008-12-15, 18:14:06
@ all

Er hier scheint sehr fit in der Materie zu sein. Interessant :)

http://www.forumdeluxx.de/forum/showpost.php?p=10833453&postcount=80
Das hättest du auch hier schon vor 3 Jahren gefunden. ;)
http://www.forum-3dcenter.org/vbulletin/showpost.php?p=3724710&postcount=55

Muh-sagt-die-Kuh
2008-12-15, 19:41:42
Die Pagefile auf eine RAM-Disk zu legen ist nicht sinnvoll, da so der Spielraum des Virtual Memory Manager (VMM) unnötig eingeschränkt wird. Ebenso ist es vor allem bei Vista sinnvoll, von Prozessen eine Zeit lang nicht benötigte Speicherseiten auf die HDD auszulagern und den dadurch freien RAM von SuperFetch als Cache nutzen zu lassen => Cache muss nicht in die PageFile zurückgeschrieben werden, man kann diese Seiten bei Bedarf einfach aus dem Speicher werfen.

Snoopy69
2008-12-15, 21:21:22
Aber wenn man von 4GB nicht mal 3GB braucht und dann 8GB einbaut, um bestimmte Programme etc. auf Ramdisk auszulagern. Das bringt schon was.

Gast
2008-12-16, 00:42:09
Teile nach einem Neustart vorhanden?
Aber worin liegt da der Sinn, ob von C:\ normal geladen wird oder von Swap? Beides kommt von HDD.Oh man. Gehts schneller aus 3 kleinen Flaschen die man in den Ecken des Zimmers platziert hat einen Schluck zu nehmen bis man nicht mehr durstig ist oder aus einer größeren direkt vor der Nase?

Natürlich könnte sich jemand noch fragen was für Sinn im zweiten Vorgehen stecken könnte, da alle 4 Flaschen sowieso einen Verschluß haben :|

Man könnte aber stattdessen auch das eigene Forum vernünftig lesen
http://www.3dcenter.org/blog/sephiroth/russinovich-raeumt-mit-den-tipps-fuer-die-auslagerungsdatei-auf

PatkIllA
2008-12-16, 08:36:17
Wobei das mit dem CrashDump unter Vista auch ohne Auslagerungsdatei geht und XP einfach nicht gigabyteweise cachen will. Mit dem Crashdump kann der Ottonormalbenutzer auch nichts anfangen.

T4ch0n4d3l
2008-12-16, 16:52:54
Also mein Vista nutzt den RAM (4GB) bis fast zum letzten MB aus (es fehlen meist nur noch so 10-30MB bis Voll). Kann mir nicht vorstellen, dass wenn man Vista diese Möglichkeit des Cachens nimmt, dass es dann schneller wird.
Wenn 8GB zur Verfügung stehen und 4GB durch Programme genutzt werden, die restlichen 4GB aber immernoch für Festplattencaches etc. durch Windows zur Verfügung stehen sollte schneller sein, als wenn ich in die restlichen 4GB meine Auslagerungsdatei reinhaue, in die eh kaum benutzte Pages ausgelagert werden (wenn oft auf sie zugegriffen werden, werden sie auch nicht ausgelagert. Ein Programm kann auch vollständig im physikalischen Speicher verbleiben) aber dann kein Speicher mehr für den Cache zur Verfügung steht und das System dadurch enorm gebremst wird (lange Ladezeiten etc.).

http://img246.imageshack.us/img246/4258/taskmanagerri6.png (http://imageshack.us)
http://img246.imageshack.us/img246/taskmanagerri6.png/1/w412.png (http://g.imageshack.us/img246/taskmanagerri6.png/1/)

Man sieht, der Speicher wird standardmäßig bis auf ein paar Megabyte komplett vollgehaun.

Snoopy69
2008-12-16, 18:34:14
Nimm mal Webtemp :wink:

Gast
2008-12-16, 18:52:29
Ich machs kurz: Ihr verschwendet eure Zeit. Die Algorythmen von MS gelten. Aber nette Diskussion. :)