Auslagerungsdatei?

fearpwndyou

Banned
Registriert
Juni 2009
Beiträge
824
Hallo,

was hat es eigentlich mit der Auslagerungsdatei auf sich? Ich habe gerad per "dxdiag" festgestellt, dass sich meine Auslagerungsdatei wie folgt verhält:

1478 MB verwendet
11270 MB verfügbar

Sollte ich diese nun erhöhen, oder sie bei den 1478 MB belassen?
 
Das heißt, je mehr RAM man hat, desto weniger Auslagerunsdatei braucht man?
Die Auslagerungsdatei ist also für minimierte Programme zuständig?
 
Woher ziehst du diese Schlüsse?

Grob gesagt wird die Auslagerungsdatei verwendet, wenn dein RAM voll ist. Je mehr RAM desto weniger wird die Auslagerungsdatei genutzt.

Windows stellt sich automatisch eine sinnvolle Größe ein, von daher alles so lassen wie es ist.
 
Es gibt auch reichlich Programme, die IMMER eine Auslagerungsdatei fordern, auch wenn du sie aktiv verwendest. Der Schluss "Bei 128GB RAM brauche ich keine Auslagerungsdatei" ist definitiv falsch.

Ein Paar Links wurden ja gepostet. Die "Auslagerungs"datei heißt so, weil hier Daten ausgelagert werden, die Windows (oder die Windows-Anwendung) als nicht im RAM notwendig ansehen, die aber trotzdem zugreifbar sein müssen.
 
verkehrte welt, oder? :)

zig tausende entwickler über millionen arbeitstunden erstellen über dekaden kumulierend betriebssysteme, die über zig milliarden stunden validiert werden und unter anderem empirisch dinge wie die passenden größe einer auslagerungs bestimmt werden. aber nein, jemand der zum ersten mal den begriff auslagerungsdatei auszuschreiben vermag, meint, durch eine beliebige einstellung der ganzen sache nochmal eine hut aufsetzen zu können.
 
"Das heißt, je mehr RAM man hat, desto weniger Auslagerunsdatei braucht man?"
Nein.

Die Auslagerungsdatei wird nicht erst verwendet, wenn der Speicher ausgeht, denn da wäre es zu spät. Der deutsche Begriff ist einfach nicht gut gewählt. Die virtuelle Speicherverwaltung schreibt schon viel früher Speicherseiten in die Auslagerungsdatei, um im Falle einer Speicherknappheit sehr schnell Speicher bereitstellen zu können (in dem dann bereits in der Auslagerungsdatei befindliche Speicherseiten einfach verworfen werden). Deshalb gibt es ja auch die Option, die Auslagerungsdatei beim Runterfahren leeren zu lassen, da auch eingegebene Passwörter usw theoretisch mal in die Auslagerungsdatei geschrieben werden können unabhängig davon, ob Speicherknappheit herrscht oder nicht. Ändert sich der Inhalt einer Speicherseite, muss diese neu in die Auslagerungsdatei geschrieben werden bzw. evtl auch rausgenommen, weil es irgendwann nicht mehr lohnenswert ist, solche Seiten in der Datei dann "synchron" zu halten...

Deshalb sollte die Auslagerungsdatei sogar größer sein als der verbaute Arbeitsspeicher, denn das das Optimum aus Sicht der Speicherverwaltung wäre es, den gesamten Arbeitsspeicher in der Auslagerungsdatei zu haben und um mehr Speicher einräumen zu können und eben auch Seiten, die nicht mehr im Arbeitsspeicher sind.

Im Übrigen unterstützen manche Dateitypen die virtuelle Speicherverwaltung direkt: Programmdateien z.B. sind so aufgebaut, dass Speicherseiten mit Programmcode nicht explizit ausgelagert werden müssen, sondern diese immer verworfen werden können und bei Bedarf aus der Programmdatei wieder nachgeladen werden.

Allgemeiner Tipp für die Auslagerungsdatei: Windows einfach machen lassen und weniger nachdenken. Natürlich kann man was umstellen, aber meistens wirkt es sich weder positiv noch negativ aus. Microsoft kennt sich relativ gut mit dem eigenen Betriebssystem aus und weiß meistens schon, was sinnvoll ist und was nicht - gewisse Design-Entscheidungen mal außen vor ;-)
 
Zuletzt bearbeitet:
1668mib schrieb:
Deshalb sollte die Auslagerungsdatei sogar größer sein als der verbaute Arbeitsspeicher, denn das das Optimum aus Sicht der Speicherverwaltung wäre es, den gesamten Arbeitsspeicher in der Auslagerungsdatei zu haben und um mehr Speicher einräumen zu können und eben auch Seiten, die nicht mehr im Arbeitsspeicher sind.

1668mib schrieb:
Allgemeiner Tipp für die Auslagerungsdatei: Windows einfach machen lassen und weniger nachdenken. Natürlich kann man was umstellen, aber meistens wirkt es sich weder positiv noch negativ aus. Microsoft kennt sich relativ gut mit dem eigenen Betriebssystem aus und weiß meistens schon, was sinnvoll ist und was nicht - gewisse Design-Entscheidungen mal außen vor ;-)

Widerspricht sich das nicht mit dem ersten Zitat? Denn damit die Auslagerungsdatei größer als der verbaute RAM ist, muss ich diese ja manuell vergrößern, denn automatisch hat sie nur die im Anfangspost erwähnten 1478 MB.
 
fearpwndyou schrieb:
denn automatisch hat sie nur die im Anfangspost erwähnten 1478 MB.
Wer sagt das ? Das die Auslagerungsdatei immer 1478 MB hat.
Bei dir ? Windows 8 teilt bei mir automatisch 16384 MB der Auslagerungsdatei zu. (Bild). Das entspricht bei mir auch der verbauten RAM Größe. Je mehr RAM verbaut ist, je mehr teilt Windows auch der Auslagerungsdatei zu.

Und : ausgelagert wird immer. Windows läßt sich das Ruder nicht aus der Hand nehmen, auch wenn man die Auslagerungsdatei manuell deaktivieren würde. Im übrigen könnten x86 Programme nicht auf RAM oberhalb der 4 GB Grenze zugreifen. Hier wird also häufiger ausgelagert.

Die Auslagerungsdatei sollte man am aller besten von Windows automatisch verwalten lassen.

Viele Grüße
 

Anhänge

  • auslagerung.png
    auslagerung.png
    20 KB · Aufrufe: 415
Zuletzt bearbeitet:
@Schildkröte: "ausgelagert wird immer" -> das habe ich bereits erklärt, warum. Weil Programmdateien auch ohne Auslagerungsdatei ausgelagert werden.
 
Was ich nie verstehen werde ist, dass je mehr RAM man verbaut hat, desto größer bestimmt Windows die Auslagerungsdatei.
das ist doch vollkommen widersprüchlich?
Wenn man dann noch eine SSD, wie ich, mit 64GB Speicherplatz verbaut hat, wird der Platz dort sehr knapp.

Den selben Spaß reserviert sich Windows auch gleich noch für den Ruhemodus. Dabei werde ich niemals beim runter fahren oder Ruhemodus 16GB RAM belegt haben. Allerhöchstens 2-3.
Mag sein, dass sich Microsoft was dabei gedacht hat, aber nachvollziehen kann ich es nicht.
 
Morku schrieb:
Was ich nie verstehen werde ist, dass je mehr RAM man verbaut hat, desto größer bestimmt Windows die Auslagerungsdatei.
das ist doch vollkommen widersprüchlich?

nein, das liegt daran, dass Windows die Auslagerungsdatei benötigt um eine vollständige Memory.dmp zu erstellen, wenn du einen Bugcheck (BSOD) bekommst.
 
@Morku: Nein, das habe ich doch bereits erklärt.

Muss ich es nochmal machen?

Erstens sollte man wegkommen vom Begriff Auslagerungsdatei - zumindest die Bezeichnung eben nicht mit der Funktionsweise gleichsetzen. Die Speicherverwaltung versucht im Hintergrund sich auf den Fall einer Arbeitsspeicherknappheit vorzubereiten. Dann anzufangen, Dinge in die Auslagerungsdatei zu schreiben würde dazu führen, dass das System dann erst mal blockiert... Stattdessen schreibt sie schon vorausschauend Dinge in die Auslagerungsdatei, ohne diesen Speicher aus dem Arbeitsspeicher freizugeben. Ist der Speicher nun knapp, kann die Speicherverwaltung unmittelbar Arbeitsspeicher bereitstellen.

Im absolut utopischen Idealfall enthält die Auslagerungsdatei eine exakte Kopie des Arbeitsspeichers - der effektive Gewinn ist dann natürlich nicht groß. Natürlich kann man rechnen "virtueller Arbeitsspeicher = physikalischer Arbeitsspeicher + Auslagerungsdatei", und tatsächlich kann die Speicherverwaltung dies so auch hinbekommen. Aber es ist aus Sicht der Speicherverwaltung besser, wenn die Auslagerungsdatei in etwa (fast) groß ist wie der tatsächlich benötigte Speicher. Wird weniger Speicher benötigt als verbaut, dann ist eine Auslagerungsdatei aus Sicht der Speicherverwaltung eigentlich eh unnötig.

Hat man z.B. 8 GB RAM und 1 GB Auslagerungsdatei, dann muss die Speicherverwaltung entscheiden, welche Seiten in die Auslagerungsdatei kommen. Das ganze könnte aus Performance-Sicht sogar kontraproduktiv sein, wenn die Auslagerungsdatei dann voll ist und die Speicherverwaltung anfängt, Dinge in der Auslagerungsdatei zu ersetzen, und später die ersetzen Daten wieder in die Auslagerungsdatei schreit um andere zu ersetzen...

Also vereinfachtes Beispiel:
Angenommen die Speicherverwaltung kann nur GB-weise auslagern, bei dem "8 GB + 1 GB"-Beispiel würde das heißen, dass die Speicherverwaltung entscheiden müsste, welches Gigabyte Arbeitsspeicher in die Datei geschrieben wird. Sie fängt mit Gigabyte 3 an... irgendwann denkt sie "Mensch, Gigabyte 4 hat sich ewig nicht verändert und wurde nicht gebraucht, ich schreib mal Gigabyte 4 rein..." und dann ist Gigabyte 3 draußen... dann hat sich Gigabyte 3 länger nicht geändert und dann wird das wieder reingeschrieben usw...
Wäre die Auslagerungsdatei aber 12 GB groß, hätte die Speicherverwaltung keine Probleme, alles in der Auslagerungsdatei zu halten.

@MagicAndre1981: Das mag zwar auch nicht falsch sein, aber ist nicht die Ursache. Die Faust-Regel, dass die Auslagerungsdatei größer sein sollte als der Arbeitsspeicher gilt ja nicht nur unter Windows... In den meisten Fällen dürfte die Memory-Dump-Funktion auch nicht essentiell wichtig sein...
 
Zuletzt bearbeitet:
fearpwndyou schrieb:
Hallo,

was hat es eigentlich mit der Auslagerungsdatei auf sich?

Das kann und soll niemand verstehen.

Mich würde interessieren, ob andere Betriebssysteme ein ähnlich dubioses Verfahren nutzen.
 
Zurück
Oben