Über 1GB Auslagerung, obwohl genug RAM frei...

Ako

Lt. Junior Grade
Registriert
Okt. 2007
Beiträge
397
Hey!

Habe Windows XP Prof. und 2x 2GB RAM. Dabei heißt es in den Systemeigenschaften:

3.25 GB RAM
Physikalische Adresserweiterung

Nun, ich habe in der boot.ini den /3GB switch reingeschrieben (Und /USERVA=2990).
Eine Anwendung belegt nun 1.4 GB "Virtual Size".
Und wie hoch ist die Auslagerungsdatei gestiegen? Über 1.3 GB ... grr ...

Was soll das? Was macht das dumme Windows da? Es sollte doch garnichts auslagern?! Oder muss ich die Auslagerungsdatei extra deaktivieren? Derzeit ist sie nämlich bei 2048 MB min sowie max..
Ich hab nämlich schon oft gelesen, dass es nix bringt, die Auslagerungsdatei zu deaktivieren, Windows würde trotzdem fleißig auslagern...

Hier noch ein screen vom taskmanager:
http://thearchifamily.lima-city.de/upload/dumm.jpg

(Es laufen sonst keine Programme!)

Danke!
MfG
 
Mit welcher Hoffnung hast du /3GB und /USERVA=2990 gesetzt?

Deaktivier doch mal die Auslagerungsdatei zum Testen, und schreibe, ob du die selben Ergebnisse erhälst, würde mich mal interessieren... eine Erklärung folgt dann auch...
 
Kannst es ja mal mit einem Festen Wert von 100 MB versuchen, also Maimale und Minimale Auslagerungsdateigrösse mit 100 MB festlegen.
Dann kann er den Kernel weiter Auslagern.
 
Mit /3GB /USERVA=2990 erhoffe ich mir, dass Programme insgesamt 3GB RAM verwenden können! Dem scheint aber nicht so, da sobald ich ein Spiel starte, die Auslagerungsdatei um mehrere hundert MB steigt (Ist jetzt bei 899MB, habe 1024MB Auslagerung eingestellt)!

Ich werd die Auslagerungsdatei mal auf 100MB setzen und dann beobachten. Ich glaube aber, dass wieder genau so viel ausgelagert werden wird. Das heißt dann also, der RAM ist vorhanden, wird aber nicht genutzt?? Wie schwachsinnig ist das denn?

MfG
 
Deaktivieren bringt nichts, da trotzdem eine Auslagerung angezeigt wird. Kommt daher, weil XP nicht ohne Auslagern funktioniert, der Swap wird dann einfach in den RAM verschoben.

Die 1,3 GB, die als Wert für die Auslagerungsdatei angezeigt werden sind nicht realistisch, da XP bei der Zählung auch reservierten Speicher mit berücksichtigt.

In diesem Thread kannst du das genauer nachlesen.

Hier noch ein kleines Tool, welches dir die genaue Belegung der Auslagerungsdatei anzeigt.

cya

PCB

Und für alle Zweifler, das XP immer auslagert, auch wenn die Auslagerungsdatei deaktiviert ist:
 

Anhänge

  • XP-Swap.jpg
    XP-Swap.jpg
    91,6 KB · Aufrufe: 434
Deaktivieren bringt nichts, da trotzdem eine Auslagerung angezeigt wird. Kommt daher, weil XP nicht ohne Auslagern funktioniert, der Swap wird dann einfach in den RAM verschoben.

Die 1,3 GB, die als Wert für die Auslagerungsdatei angezeigt werden sind nicht realistisch, da XP bei der Zählung auch reservierten Speicher mit berücksichtigt.

In diesem Thread kannst du das genauer nachlesen.

Hier noch ein kleines Tool, welches dir die genaue Belegung der Auslagerungsdatei anzeigt.

cya

PCB

Und für alle Zweifler, das XP immer auslagert, auch wenn die Auslagerungsdatei deaktiviert ist:

https://www.computerbase.de/forum/attachments/keinswap-gif.44812/
 
Zuletzt bearbeitet: (Bild wurde nicht eingefügt)
Sorry dass ich so spät antworte, hatte viel zu tun letzte Zeit und nicht immer Internet...

Alle Programme in der Summe können auch ohne diese /3GB-Frickelei problemlos 3 GB und sogar noch viel mehr Speicher verwenden - je nach dem, wieviel Speicher zur Verfügung steht. Die Leute, von denen du die Schalter-Empfehlung bekommen hast, haben leider keine Ahnung von der Windows-Speicherverwaltung.
32-Bit-Windows-Systeme unterteilen den virtuellen Adressraum von 4 GB in 2 GB Anwendungsspeicher und 2 GB Kernelspeicher. Mit dem tatsächlich verbauten Arbeitsspeicher hat diese Aufteilung rein gar nichts zu tun. Der /3GB-Schalter führt dazu, dass ein Prozess (Anwendung) selbst alleine mehr als 2 GB RAM (also bis zu 3 GB) nutzen kann - was in den seltensten Fällen wirklich vorkommt (auch wenn manche Spiele evtl etwas besser laufen sollen, z.B. Gothic 3 wird gerne genannt).
Diese Aufteilung des Adressraums gibt es schon seit über 10 Jahren zu Zeiten, als 16 MB RAM Standard waren.
(Ausnahme sind eben Windows-Server-Betriebssysteme, die einer Anwendung bis zu 3 GB virtuellen Adressraum einräumen, oder eben XP bzw Vista mit entsprechenden Schaltern)

Zum Thema Windows lagert immer aus trotz deaktivierter Auslagerungsdatei:
Ich vermute das sind nicht benötigte Systemdateien (DLLs usw), welche, wenn sie nicht benötigt werden, nicht explizit in die Auslagerungsdatei ausgelagert werden, sondern Seitenweise (Speicherseite = 4.096 Bytes) aus dem Speicher verworfen werden können und bei Bedarf direkt aus der entsprechenden DLL-Datei wieder eingelagert. Beim Auslagern kommt es in dem Fall also nicht zu Leistungsverluste durch Festplattenzugriffe, erst beim Einlagern dann... wenn sie denn mal gebraucht werden, aber das wird nicht während einer Runde Counter-Strike passieren...



Ich sollte mal meine Windows-Speicherverwaltungs-FAQ posten... aber bin noch net 100% damit zufrieden...
 
Zuletzt bearbeitet:
1668mib schrieb:
Zum Thema Windows lagert immer aus trotz deaktivierter Auslagerungsdatei:
Ich vermute das sind nicht benötigte Systemdateien (DLLs usw), welche, wenn sie nicht benötigt werden, nicht explizit in die Auslagerungsdatei ausgelagert werden, sondern Seitenweise (Speicherseite = 4.096 Bytes) aus dem Speicher verworfen werden können und bei Bedarf direkt aus der entsprechenden DLL-Datei wieder eingelagert.
Ja, so in etwa ist es:

Wenn die Page nicht im physikalischen RAM gemappt ist, wird sie als invalid gekennzeichnet. Der sog. Page Fault Handler (Bestandteil der MMU) triit dann in Aktion und schaut nach, was für Daten in der Page waren.

Bei Dll's und exe-Modulen wird der Code direkt aus der Dll bzw exe geladen, "normale" Daten werden dagegen immer aus der Auslagerungsdatei eingelesen.

Nettes Detail am Rande: Die Page tables (max 1 Mio Einträge= 4 MB RAM Verbrauch max.), also die Tabelle mit den aktuellen PTE's (PageTable Entries) wird selbst in die Auslagerungsdatei verschoben, um Speicher freizumachen!
Natürlich wird nicht die gesamte Tabelle ausgelagert, denn dann wäre ja jeder Zugriff wieder super langsam, sondern nur Teile davon.

Welche Teile das sind, wird über komplizierte Algorithmen von der MMU selbst bestimmt.

PCB

PS: @1668mib: Poste doch mal deine FAQ, würd mich mal interessieren! Vielleicht sollte man da noch ne "Advanced"-Version erstellen für so Leute wie uns! ;)
 
Zurück
Oben