Ändern Sie Windows "Swappiness"


10

Gibt es in Windows 7 ein veränderbares Äquivalent zu "Swappiness"?

Mein System verfügt über 8 GB RAM, was mehr als genug für meinen täglichen Gebrauch ist. Ich möchte das Swap-Verhalten ändern, was * NIX-Systeme Swappiness nennen, und es auf 0 setzen, wie ich es auf meinem Ubuntu-Computer getan habe.

Ich habe das Web danach durchsucht, aber alle Antworten scheinen für * NIX-Systeme zu sein.


Ist es aus Neugier besser, die Swappiness auf einen höheren oder niedrigeren Wert einzustellen?
Jon

Es hängt davon ab, wie viel RAM Sie haben und wie viel davon Sie verwenden. In meinem Fall wird das Setzen auf 0 nur auf die Festplatte übertragen, um einen out of memoryFehler zu vermeiden . Siehe diese Antwort auf AskUbuntu für mehr @ chipperyman573
rath

1
Es scheint, dass Windows keinen Notfallschutz gegen Speicherfehler hat. Siehe den Link aus meiner Antwort.
Wullxz

Antworten:


7

Unter Windows gibt es eine sogenannte "Auslagerungsdatei", in der das System Anwendungen austauscht, um den Arbeitsspeicher freizugeben. Ich bin derzeit nicht auf einem Windows-Computer, aber die Schritte, die Adobe hier online gestellt hat, sehen richtig aus (ich denke, Win+ Pauseist eine Verknüpfung zu "Erweiterte Systemeinstellungen").

Obwohl es möglich ist, die Auslagerungsdatei zu deaktivieren, gibt es einige Bedenken. Weitere Informationen finden Sie hier


2
Wie Sie in Ihrem Kommentar sagen, scheint Windows tatsächlich keinen Schutz vor Fehlern aufgrund von Speichermangel zu haben. Dies lässt mich glauben, dass es kein "Swappiness" -Äquivalent gibt. +1 trotzdem für die interessante neue Verknüpfung, die ich gelernt und als akzeptiert markiert habe, weil der von Ihnen gepostete Link mich zu diesem Artikel geführt hat . Prost
rath

Es gibt viele Leute da draußen, bei denen die Auslagerungsdatei deaktiviert ist. Das System wirft ein paar Dinge hinein, die es für einige Zeit nicht auf eine Weise verwenden wird, die als unnötig angesehen werden könnte. Es ist unwahrscheinlich, dass dem System der Speicher ausgeht, außer in Situationen, in denen der Benutzer normalerweise weiß, was gerade passiert. Oft gibt es eine Menge Cache, die zuerst freigegeben werden können (vorausgesetzt, er wurde ordnungsgemäß freigegeben). Der Grund für die nicht vollständige Deaktivierung Einige Programme haben eine Anpassung, wenn sie nicht vorhanden sind. Und die Fehler, die sie werfen, werden nicht immer Sinn machen.
Psycogeek

1
Ich habe einen Laptop mit 8 GB RAM und habe mit Swap-Off verwendet. Es gibt keinen Unterschied zwischen 8 GB RAM ohne Swap und 4 GB RAM + 4 GB maximalem Swap. Es gibt immer ein Limit, und sobald Sie dieses erreicht haben, werden Sie Fehler sehen.
Natan

@Natan: Ich würde jeden Tag 8 GB RAM über 4 + 4 nehmen. Was passiert mit Ihrer Leistung, wenn Ihnen bei RAM-intensiven Vorgängen die physische Kapazität ausgeht?
Mark K Cowan

@ MarkKCowan Ich denke, es gibt einen Unterschied zwischen 128 MB und 8 GB RAM. Wenn der Speicher voll ist, beginnt das Betriebssystem, Speicher zurückzugewinnen, und Garbage Collectors erledigen ihre Aufgaben. Auf einem Desktop mit 8 GB ist praktisch garantiert, dass genug davon zurückgefordert wird, um weiterzumachen, da das meiste davon Cache ist. Wenn Ihnen der Speicher ausgeht, ist das Auslagern immer schlechter als das Zurückfordern von Speicher, da die Festplatte um Größenordnungen langsamer ist als CPU + RAM.
Natan

0

Der virtuelle Speicher bietet mehr als nur "Apps, die RAM zuweisen, und wenn der physische RAM zur Neige geht, wird etwas an SWAP ausgelagert".

Unter Linux (und möglicherweise unter UNIX insgesamt) versucht das System, kürzlich gelesene Seiten im RAM zu halten: ausgeführte Programme, geladene Daten, kürzlich geschriebene Daten (bereits auf der Festplatte) usw. Wenn dasselbe Programm erneut ausgeführt wird, ist dies nicht der Fall Sie müssen nicht erneut von der Festplatte geladen werden. Wenn ein Programm mehr Speicher für seinen virtuellen Adressraum anfordert, werden zuerst die verbleibenden Festplattenpuffer neu verwendet (ohne Festplattenzugriff). Wenn dies nicht ausreicht, werden einige Seiten mit laufenden Apps, auf die in letzter Zeit nicht zugegriffen wurde, tatsächlich ausgetauscht. Unter Linux findet ein Austausch normalerweise überhaupt nicht statt. Sobald Ihr System mit dem Austausch beginnt, bemerken Sie die erhöhte Laufwerksaktivität (und Trägheit) und Sie sagen "Oh, was zum Teufel", weil dies wahrscheinlich bedeutet, dass eine App Speicher verliert oder etwas unter der Haube außer Kontrolle gerät.

Windows hat traditionell die blöde zusätzliche Angewohnheit, dass sie nach einiger Zeit aufgrund ihrer Inaktivität ganze User-Space-Apps austauschen. Streng genommen, ohne Entschuldigung, nur um so viel RAM wie möglich zur Verfügung zu haben, "nur für den Fall" wollten Sie noch eine hungrige App starten. Wenn Sie Ihren PC laufen lassen und für ein paar Stunden weggehen, bemerken Sie bei Ihrer Rückkehr, dass jede App, in die Sie wechseln, langsam aus dem Tausch neu geladen wird. Dieses Verhalten war in Windows 2000 besonders schmerzhaft und macht sich in moderneren Windows-Versionen allmählich weniger bemerkbar. In W2k war das Ausschalten des Swaps ein Kinderspiel. Windows 7 kann manchmal ohne besonderen Grund wie Honig sickern, Windows 8.1 und 10 wurden merklich besser ... aber es gibt immer noch keinen einstellbaren Knopf für "Swappiness" oder andere einstellbare Parameter des Swap-Algorithmus.

Es gibt andere Faktoren, die dazu führen können, dass das System bei langsamem Festplattenzugriff schleift. In Windows 7 wissen Sie nie, ob das System Ihre App gerade auf die gute alte W2k-Art ausgetauscht hat oder ob Sie dem Antivirus die Schuld dafür geben sollten, dass Ihre App so langsam startet oder ob Windows Update etwas in der App tut Diesmal Hintergrundinformationen (bekanntermaßen hin- und hergehende Macken in den Algorithmen, die zu Hängen mit 100% CPU-Verbrauch und / oder Festplatten-Thrashing führen) oder wenn speziell eine .NET Framework-Hausmeisteraufgabe in der WinSXS-Datenbank verloren gegangen ist oder was. Gelegentlich / in einigen Microsoft-Softwareversionen / -Inkarnationen scheint es tatsächlich so zu sein, dass einige Windows-native "im Hintergrund" -Aufgaben (insbesondere die lokale Windows Update-Datenbankverwaltung) im Task-Manager absichtlich "verdeckt" werden. Ihre CPU- und RAM-Auslastung wird nicht im gesamten Speicherverbrauch angezeigt. "Legitime" Aktivität, aber ziemlich schwer von einem Malware-Rootkit zu unterscheiden ... Erst wenn das Thrashing aufhört und eine Sprechblase mit der Aufschrift "Neue Updates sind verfügbar" erscheint, wissen Sie sofort, was der Grund war.

Zumindest die neuesten Windows-Versionen können Ihnen die E / A-Aktivität der Festplatte pro Prozess mitteilen, und einzelne Dienste werden jetzt separat gemeldet (anstelle eines einzelnen SVCHOST.EXE-Prozesses).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.