Wie kann ich Windows 7 im Cachespeicher weniger aggressiv machen?

16

Ich habe kürzlich festgestellt, dass sich Windows 7 auf meinem Computer über unzureichenden Arbeitsspeicher beschwert und ich einige Programme schließen sollte. Es würde dann normalerweise auf ein laufendes Programm hinweisen, das einen Speicherverlust aufweist und ziemlich groß geworden ist. In der Regel beginnen diese Programme jedoch mit einer RAM-Auslastung von 20 MB und erreichen erst nach einer Laufzeit von 12 bis 24 Stunden eine RAM-Auslastung von höchstens 200 MB. Ich habe nie mehr als drei dieser Programme zur gleichen Zeit ausgeführt, so dass die maximale RAM-Auslastung von 600 MB, die ich je von meinen laufenden Programmen gesehen habe, erreicht wird.

Ich verwende Windows 7 x64 auf einem Computer mit 4 GB RAM. Zuerst vergaß ich das tatsächlich und startete die Programme einfach neu, als sich Windows beschwerte, aber jetzt, wo ich mich erinnerte, schien die Tatsache, dass sich Windows über die Verwendung von 600 MB RAM beschwerte (unter 2 GB, selbst wenn Sie den vom Betriebssystem selbst verwendeten Speicher einbeziehen), seltsam . Daher habe ich das Systemprozessfenster geöffnet, um die Gesamtspeicherauslastung meiner aufgelisteten Prozesse und Systemprozesse zu ermitteln. Es summierte sich auf etwas mehr als 700 MB, also war ich immer noch verwirrt. Dann ging ich zum Ressourcenmonitor und öffnete die Registerkarte Speicher. Dort glaube ich meine Antwort gefunden zu haben. Es wurde festgestellt, dass ich tatsächlich nur 33% meines Arbeitsspeichers verwendete. In der Ressourcenzuweisungsleiste für den physischen Speicher betrug der Bereich "Geändert" bis zu 2,3 ​​GB, der Bereich "Standby" bis zu 540 MB, der Bereich "Frei" unter 20 MB. Der zwischengespeicherte Speicher wurde bei 2 aufgeführt. 8 GB und verfügbarer Speicher wurden mit 550 MB angegeben. (Diese Werte sind natürlich leicht gerundet, da sich deine Werte während des Schreibens ständig ändern.)

Anscheinend verbraucht Windows 7 mehr Speicher als ich. Zu irgendeinem Zeitpunkt in der Vergangenheit habe ich einige Änderungen am Menü der installierten Windows-Dienste vorgenommen, aber dies diente nur dazu, bestimmte Hosting-Dienste zu deaktivieren, da ich keine Medienfreigabe durchführen, den Telnet-Client aktivieren und das Internet entfernen wollte Explorer, aber es könnte meine Schuld sein. Gibt es eine Möglichkeit, Windows dazu zu bringen, dies nicht zu tun oder zumindest viel weniger aggressiv zu zwischenspeichern, sodass ich diese "Wenig Arbeitsspeicher" -Benachrichtigungen nicht mehr erhalte?

grg-n-sox
quelle
2
Das OP versteht das Problem falsch. Ihm geht der gesicherte virtuelle Speicher aus. Alle seine Analysen zum physischen Gedächtnis sind irrelevant. Sie können über genügend freien physischen Speicher, aber nicht genügend freien, gesicherten virtuellen Speicher verfügen, und die Popup-Speicherwarnung ist eine Warnung, dass der gesicherte virtuelle Speicher knapp und nicht der physische Speicher ist. (Obwohl ein physischer Speicherverlust eines Fahrers das Problem indirekt verursachen kann.)
David Schwartz
"Das OP versteht das Problem falsch." So wie einige der Antwortenden. :(
Jamie Hanrahan

Antworten:

10

Der Standby-Speicher ist kein Problem, er gilt als "frei" und wird auf Anfrage neu zugewiesen. Er enthält nur den kürzlich von Programmen verwendeten Speicher, wird aber jetzt freigegeben. Wenn ein anderes Programm mehr Speicher als "Frei" anfordert, sollte das System nahtlos aus dem Standby-Satz reservieren (da der "Standby" -Speicher momentan nicht wirklich verwendet wird).

Ihr übermäßiger geänderter Speicher ist Ihr Problem, da er nicht einfach neu zugeordnet werden kann. Sehen Sie hier . Dies liegt wahrscheinlich an einem Speicherverlust (der Ihrem ersten Absatz zu entsprechen scheint - welche Programme lecken?) Oder an einer zu kleinen Auslagerungsdatei (hat Ihre Auslagerungsdatei eine feste Größe oder ist sie deaktiviert?).

DMA57361
quelle
3
Wie ich in meinem Kommentar zur Antwort von CJM angemerkt habe, habe ich alle fragwürdigen Anwendungen geschlossen (einige Indie-PC-Spiele) und habe nur Task-Manager, Resource Monitor, AVG und Chrome ausgeführt, aber immer noch 1,6 GB modifizierten Speicher. Ich lasse meinen Computer tagelang eingeschaltet, was dem Profil in dem Artikel entspricht, den Sie verlinkt haben. Ein Hinweis auf dieser Webseite war jedoch, nach einem Prozess mit einer großen Festschreibungsgröße zu suchen. Derzeit ist das ein Prozess von nSvcAppFlt.exe. Es hat nur eine funktionierende Set-Größe von 30 MB, aber eine Commit-Größe von 13,5 GB. Was gibt?
grg-n-sox
2
Das ist das Programm, das dein Gedächtnis verliert. Siehe auch social.answers.microsoft.com/Forums/en-US/w7performance/thread/… . Entfernen Sie es und alles sollte gut sein.
akid
Vielen Dank. Eigentlich ist das ein bisschen raffiniert. Wenn ich also feststelle, dass mein RAM aufgebraucht ist, kann ich einfach zu meinem Ressourcenmonitor gehen, um zu sehen, ob der Abschnitt Modifizierter Speicher sehr umfangreich ist und welcher Prozess eine große Festschreibungsgröße hat und ich finde, dass mein Speicher nicht mehr ausreicht. Auf jeden Fall ein schönes Diagnosetool für Windows.
grg-n-sox
Deaktivieren oder aktualisieren Sie Ihre Nvidia-Firewall-Software.
David Schwartz
Sie haben drei "Sie", die im letzten Absatz "Ihr" sein sollten. (Ich kann nicht vorschlagen, zu geringfügig zu bearbeiten.)
Shadow The Burning Wizard
4

Das vorbeugende Zwischenspeichern in SuperFetch ist nicht Ihr Problem. Windows 7 verwendet so viel freien Speicher wie möglich, um vorsorglich zwischenzuspeichern, was als Nächstes benötigt wird. Wenn es stimmt, sparen Sie ein wenig Zeit und Ihre Anwendungen wirken schneller und reaktionsschneller.

Wenn es falsch vermutet wird und Sie andere Daten benötigen, gibt Superfetch einen Teil des verfügbaren Speichers frei, damit Sie die Daten laden können, die Sie wirklich benötigen. Siehe: http://arstechnica.com/microsoft/news/2010/02/behind-the-windows-7-memory-usage-scaremongering.ars

Wenn Probleme mit wenig Arbeitsspeicher auftreten, liegt dies nicht an SuperFetch, da so viel Arbeitsspeicher wie erforderlich freigegeben wird, wenn Anwendungen dies erfordern. Ihr verfügbarer Arbeitsspeicher (550 MB) wird von Superfetch verwendet, sodass Sie noch keinen ausreichenden Arbeitsspeicher haben. Selbst wenn Sie Ihren gesamten Arbeitsspeicher verbrauchen, wird Ihr Computer auf den virtuellen Speicher zurückgreifen, obwohl Sie dies aufgrund der Leistungseinbußen vermeiden möchten ...

Dies deutet darauf hin, dass Sie Probleme mit wenig Arbeitsspeicher haben, die auf andere Probleme zurückzuführen sind. Vielleicht verbraucht eine Ihrer auslaufenden Apps andere Arten von Ressourcen (und gibt diese nicht frei) ...

In beiden Fällen liegt die Wahrscheinlichkeit höher, dass Sie die Lösung für Ihre fehlerhaften Anwendungen finden, als dass Sie mit SuperFetch herumspielen ...

CJM
quelle
Ich habe festgestellt, dass der Standby-Teil des Speichers Teil des zwischengespeicherten Speichers ist, aber ich muss ernsthaft bezweifeln, dass das Problem bei meinen Programmen liegt. Ich habe sie jetzt alle geschlossen, sodass ich nur AVG, Task-Manager, Ressourcenmonitor und ein einziges Chrome-Fenster mit 4 Registerkarten ausgeführt habe. Es werden nur 1042 MB mit 1417 MB verfügbarem Arbeitsspeicher verwendet, aber ich habe immer noch einen großen Teil des modifizierten Arbeitsspeichers, der 1633 MB belegt, den der Task-Manager als verbrauchten Arbeitsspeicher angibt und der mir einen Hinweis auf geringen Arbeitsspeicher gibt. Gibt es eine Möglichkeit, die Menge des geänderten Speichers zu reduzieren oder einfach den Hinweis auf zu wenig Speicher auszuschalten?
grg-n-sox
0

Da Sie nicht glauben, dass das Problem durch ein Programm mit einem Speicherverlust verursacht wird, besteht die Alternative darin, die Dateigröße Ihrer Seite zu erhöhen.

Die Auslagerungsdatei ist zwar nicht Ihr Hauptspeicher, ermöglicht es dem Betriebssystem jedoch, mehr Daten auf die Festplatte zu übertragen, und beendet hoffentlich die Meldung "Nicht genügend Speicher". Die einzige andere Möglichkeit wäre, das Programm zu entfernen, das mit dem Prozess verbunden ist, der über eine riesige Fläche von 13 GB verfügt, obwohl ich keine Ahnung habe, welches Programm so viel Speicherplatz benötigen würde, es sei denn, es handelt sich um ein High-End-PC-Spiel oder eine 3D-Rendering-Software.

Britton
quelle
0

Aus meiner Erfahrung ist Standby Memory Creep ein echtes Problem. Wenn ich beispielsweise Snagit für einen längeren Artikel im Rolling-Windows-Modus ausführe, werden Teile des Artikels nicht erfasst, wenn nur der Standby-Speicher verwendet wird. In jedem Fall stelle ich fest, dass mein Computer im Standby-Speicher nur schleppend läuft.

Um das Problem zu lösen, benutze ich den Memory Optimizer aus den kostenlosen Glary Utilities. Mein Computer hat 6 GIG Speicher. Beim ersten Hochfahren sind laut Windows Resource Monitor etwa 2 GIG Arbeitsspeicher, 2 GIG Standby-Speicher und 2 GIG von dem, was ich als "Free Free Memory" bezeichne. Innerhalb eines halben Tages oder so verwandelte sich der gesamte Free-Free-Speicher in einen Standby-Speicher, unabhängig davon, ob ich den Computer verwendete oder nicht. Jetzt habe ich Glary Utilities Memory Optimizer mit Windows gestartet und kann meinen Computer auf unbestimmte Zeit laufen lassen, wenn die vollen 2 Gigabyte an freiem Speicher verfügbar sind.

Jedes Mal, wenn ich mich für eine weitere Sitzung hinsetze, doppelklicke ich zuerst auf das Symbol in der Taskleiste des Speicheroptimierers und optimiere. Aufforderung zur Freigabe meines ursprünglichen 2-GIG-Free-Free-Speichers. Ich kann um mehr bitten, aber das ist das Maximum, das es unabhängig davon freigibt. Es dauert ungefähr 30 Sekunden, bis der Optimierer fertig ist. Dies ist viel weniger als für einen Neustart erforderlich. Es hat einen automatischen Optimierungsmodus, aber ich konnte nicht herausfinden, wie es funktioniert.

James Horner
quelle
Standby-Speicher ist kein Problem.
Jamie Hanrahan
Der "Speicheroptimierer" sollte verschrottet werden. Standby-RAM ist RAM, das kürzlich in Prozessen "verwendet" wurde. Es wurde aufgrund des Austauschs von Arbeitssätzen aus diesen Prozessen entfernt, enthält aber immer noch, was es getan hat, als es "in Verwendung" war. Wenn ein Prozess die Inhalte einer dieser Seiten benötigt, kann die Seite schnell wieder zum Prozess zurückgeführt werden. Aus diesem Grund wird Standby als Teil der Zählung von "Cache" angesehen. Standby ist aber auch für andere Zwecke genauso "Verfügbar" wie Free RAM. Ihr "Speicheroptimierer" hat gerade einige Seiten von Standby nach Free verschoben, dh Sie haben den Standby-Cache [...]
Jamie Hanrahan
ohne mehr RAM zur Verfügung zu stellen. Da "Standby" sowieso immer "Verfügbar" war! Mit Vista und höher können Superfetch nun Teil der Standby für seine proaktive Datei - Caching verwenden, aber die Seiten sind noch repurposeable für die Verwendung durch andere procsses nach Bedarf. SuperFetch entfernt also auch keine Seiten von "Verfügbar". Wenn Sie den "Speichermanager" loswerden, wird die Leistung Ihres Systems beeinträchtigt, was zu unnötigen Festplatten-E / As führt.
Jamie Hanrahan
-1

Um dieses Problem zu lösen

Gehe zu start-run-msconfig, dann zu services und entferne das Häkchen von "Windows driver foundation". Klicken Sie auf OK und starten Sie den Computer neu.

Denken Sie daran - Nur die oben genannten Schritte lösen dieses Problem. Wenn Sie services.msc deaktiviert haben, ist es zum Zeitpunkt des Bootens des Betriebssystems immer noch aktiv und blockiert Ihren Speicher.

Um dies zu überprüfen, verwenden Sie das Tool

user261975
quelle
Durch Deaktivieren des WDF-Dienstes werden alle Geräte deaktiviert, die von diesem Treibermodell abhängen. Das ist eine schlechte Idee.
Jamie Hanrahan