Performance-Nachteile durch 1 RAM Riegel?

OK, jetzt habe ich verstanden wie Du das meinst.

Leider muß ich Dir sagen, daß Du einen folgenschweren Denkfehler in deiner Überlegung hast.

Mit sagt das Wort Cache durchaus was, nur Du scheinst da etwas durcheinanderzubringen.

Ich hoffe Du akzeptierst die Wikipedia-Erklärung als unabhänige und verlässliche Quelle.

Cache [kæʃ] bezeichnet in der EDV einen schnellen Puffer-Speicher, der Zugriffe auf ein langsames Hintergrundmedium vermeidet.
 
Zuletzt bearbeitet:
CPU=Arbeitstier
RAM=Schnell/Pufferspeicher
SSD/HDD=Lahm

Wo ist mein Fehler?
 
Der Punktus Knacktus hierbei, ist daß der Cache auf ein schnelleres Medium erfolgt. Festplattendaten auf die Festplatte zu cachen, macht aber absolut keinen Sinn! Nur solange RAM frei ist ist das Caching sinnvoll. Aber Daten oder sonstwas auslagern fürs Caching macht doch keinen Sinn - ganz im Gegenteil: Das wäre eine sinnlose Performance-Verschwendung, daher macht Windows das auch nicht.

Dein Bild vom Taskmanager beweist nur eines. Windows erzielt in diesem Augenblick eine 100% Auslastung des gesamten Speichers. Würdest Du in diesem Augenblick mehr RAM hinzufügen, könntest Du einen Performancegewinn erzielen. Würdest Du aber die Auslagerungsdatei vergrößern würde die Performance trotzdem stagnieren.

PS: Sorry hab auf "Antworten" anstatt auf "Vorschau" geklickt.

PS 2.0: Eigentlich hast Du tendeziell recht, nur die Schlußfolgerung ist falsch. Du musst das nur richtig sagen: Auch 16GB sind nicht genug - also brauche ich doch mehr RAM-Speicher!:D
 
Ich sag ja, Du hälst die MS-Software-Ingenieure für Volldeppen.
Es wird ausgelagert was nicht gebraucht wird. Es wird gecached was gebraucht wird. Und damit schließt sich der Kreis, Du eimerst rum weil ein paar Daten auf die SSD geschrieben werden, dass dafür aber eine vielfache Menge an Daten aus dem Cache gelesen werden könnten wird ignoriert. Daher auch mein Beispiel am Anfang.

Es werden 100MB in die Auslagerungsdatei geschrieben, und dafür könnte z.b. 1000x die 100MB gelesen werden aus dem Cache, anstatt 1000x von der HDD/SSD (natürlich andere Daten als die die in der Auslagerungsdatei gelandet sind). Ich hab keine Ahnung warum Du meinst dass das Zeug was in der Auslagerungsdatei landet Systemkritisch ist und das System ausbremst. Du hast nicht zufällig meine Links gelesen?

Wenn Du im Texteditor was schreibst, den dann kleinklickst und in einer anderen Anwendung weiterarbeitest. Dann schreibt das System den Text im Texteditor in die Auslagerungsdatei damit Speicher frei wird. Und zwar dann wenn das System im Idle ist. D.H. Du merkst davon gar nix außer dass die HDD kurz anläuft. Da wird nix lahm. Das passiert ja nicht wenn Du gerade Deine HDD stresst. Sondern danach/davon.

Das überschneidet sich nur wenn Du zu wenig RAM hast.
 
Zuletzt bearbeitet:
Sehr interessante Ausführungen hier!

Ich hab's grad mal ausprobiert. Der Cache scheint immer weiter zu wachsen, egal, was man auch lädt. Die Idee ist natürlich sehr gut (also genau das Gegenteil von "volldeppert"), dass man bereits benutzte Dateien im Cache hält, da sie potentiell wieder geöffnet werden könnten.

Und mit Prefetching versucht man ja vorherzusagen, welche geöffnet werden könnten.
Geschieht das Prefetching eigentlich nur beim Start?


Erkenntnis aus eurer Diskussion:
Wenn man es schafft, den RAM "mehrfach" zu befüllen, durch die Programme, die man lädt und Dateien, die man darin öffnet, dann kann eine größere Auslagerungsdatei die Performance verbessern.

Solange man aber noch viele MB als "frei" markiert hat (bei Dir oben 32MB, bei mir grad 7GB), dann lohnt sich eine größere swap zumindest in dem Boot von Windows überhaupt nicht. Korrekt?
 
BlackWidowmaker schrieb:
aber unter Win7 sind 8GB in vielen Fällen ein Vorteil und bringen hier und dort tatsächlich spürbare Performanceunterschiede.

ggü 4GB ? :freaky:
 
Öhm, über die Größe der Swap-Datei haben wir uns gar nicht ausgelassen, das war eher ein paar Gründe sie gar nicht erst abzuschalten.
Man kann wenn man möchte die Größe so lange reduzieren bis Windows anfängt zu meckern falls man Platz-Probleme hat. Ansonsten ist es unerheblich ob sie 100GB oder 2TB groß ist, wird ja sowieso immer nur teilweise gefüllt.
 
HisN schrieb:
Ich sag ja, Du hälst die MS-Software-Ingenieure für Volldeppen.

Die Forenregeln verbieten mir leider dazu Stellung zu nehmen.:D

OK, Du meinst es andersrum. Wenn in deinem obigen Beispiel, plötzlich eine Auslagerungsdatei dazukommen würde, von Windows ein Teil der von den Anwendungen reserviertem RAM ausgelagert würde, käme es dadurch zu freiem RAM, der wiederum von Windows gleich zu Caching-Zwecken benützt würde.

So würde dann z.B. aus 8GB belegter RAM + 8GB Festplatten-Cache im RAM plötzlich 4GB belegter RAM + 4GB ausgelagerter RAM + 12GB Festplatten Cache werden. Hab ich das jetzt richtig verstanden?

Doch um hierbei einen Performance-Gewinn daraus schlußfolgern zu können, muß man etliche Dinge vorraussetzen, die mit Sicherheit nicht immer zutreffen:

1.) Du setzt vorraus, daß in dem Anwendungsszenario exszessiv auf die Festplatte/SSD zugegriffen wird. Das ist im typischen Anwenderleben aber nicht zwangsläufig der Fall. Erfolgen aber keine Datenträgerzugriffe bringt Cache auch nichts.

2.) Du setzt voraus, daß zusätzlicher Cache-Platz im RAM linear einen Performance-Gewinn erzielt. Und das ist mit Sicherheit nicht der Fall. Eine entsprechende Funktion würde eher wie eine um 90 Grad im Uhrzeigersinn gedrehte Parabel aussehen. Sprich ab einem bestimmtem Punkt bringt zusätzlicher Cache-Speicher keinen meßbaren/fühlbaren Performance-Gewinn.

Was wichtig beim Datenträger-Cache ist, sind Inhaltsverzeichnisse, FATs, MFTs usw. Diese passen aber auch bei vielen LW und sehr großen Inhaltsverzeichnissen bequem in 1GB rein. Alles was darüber für den Datenträger-Cache reserviert und genutzt wird sind aber Nutzerdaten/Dateien auf den LWen. Hier ist es extrem anwendungsspezifisch ob der Cache einen Vorteil bringt. Häufig genutzte DLLs und andere Systemdateien, ebenso eine stark frequentierte DB profitieren sicher stark davon, HD-Video-Rendering aber eher weniger. Normaler Office Alltag + Internet Surfen dürfte z.B. nie dazu führen, daß bei 16GB RAM, kein freier Speicher im System vorhanden ist. Wenn doch, ist man eher Opfer eines Virus/Trojaners denn falscher Konfiguration.:D

3.) Du betrachtest nur den Augenblick der möglichen Auslagerung und sagst, daß in diesem Moment durch die Auslagerung freier RAM geschaffen wird. Doch was ist wenn die Daten in der Auslagerungsdatei wieder gebraucht und daher vom Datenträger wieder geladen werden müssen? Dann muß Windows den Datenträger-Cache verkleinern, dadurch freien RAM schaffen um anschließend die Daten aus dem Datenträger in den RAM zu lesen. In diesem Fall gibt es insgesamt sogar einen Performance-Verlust! Genau dieser Fall ist mMn nach eher Real-Situation, denn ein Performance-Gewinn durch größeren Cache.


Mit obiger Grundsatzüberlegung liegst Du vielleicht bei Systemen bis 4GB absolut richtig, doch danach wendet sich langsam das Blatt. Bei 16GB schließlich denke ich, daß ein System nur in den seltensten Konstellationen einer Auslagerungsdatei bedarf (von Inkompatibilitäten mal abgesehen). Bei mir war es z.B. gestern so, daß nach ca. 12h Nutzung des PCs immer noch über 8GB frei waren. Hab spaßeshalber mal schnell ein paar Anwendungen parallel gestartet, Word+Excel+Acess 2003, PS CS5, Winamp, Thunderbird, JDownloader, IE8 mit 10 Tabs und schließlich den Taskmanager. Ich hatte immer noch weit über 8GB frei.

Will damit nicht sagen, daß man 16GB nicht ausnutzen kann - dein obiges Beispiel beweist es ja deutlich, aber es ist schon verdammt schwer. Vielleicht ist es mit einem Software-RAID oder 10 Platten oder ähnlich anspruchsvollen Konfigurationen anders, hier würde mich das deinem Task-Manager-Beispiel zugrunde legende Anwendungsszenario interessieren, doch im normalen Desktop-Alltag eines Otto-Normal-Power-Users sollten 16GB reichen um fast immer freien RAM zu haben.

Edit:

theblade schrieb:
Black Widowmaker: aber unter Win7 sind 8GB in vielen Fällen ein Vorteil und bringen hier und dort tatsächlich spürbare Performanceunterschiede.

ggü 4GB ? :freaky:

Ist zwar anwendungsspezifisch und quantitativ sicherlich nicht maßgeblich, aber ja.
 
Zuletzt bearbeitet:
Theoretisch ist das richtig, aber in der Praxis leider nicht wirklich

HisN schrieb:
Und die von mir verlinkten Beispiele bekommen ihre Probleme eher weil eine 32-Bit-Anwendung (ohne LAA-Flag) nur 1.8GB Speicher benutzen darf (von Windows aus), braucht sie mehr geht das in die Swap-Datei. Das passiert Dir auch mit 128GB RAM im Rechner.

wie man sehen kann...
 
Zurück
Oben