Warum ist mein "Committed" -Speicher so viel höher als mein tatsächlicher RAM-Speicher?

23

http://i.imgur.com/cilRmfD.png

Ich habe zwei Virenscans durchgeführt und keiner von beiden hat bisher etwas gefunden (Malware Bytes und Avira Rescue). Während des Spielens werden Windows-Popups angezeigt, die darauf hinweisen, dass auf meinem System nicht genügend Arbeitsspeicher vorhanden ist, und es wird empfohlen, das Spiel zu schließen. Dies kann auch beim Surfen passieren. Mein Computer scheint sehr träge zu werden und hängt sich häufig auf, z. B. wenn ich in einem Messenger-Programm auf einen Link klicke, um ihn in meinem Browser zu öffnen.

Ich bin mir nicht sicher, was das verursacht. Die Speichernutzung auf der Registerkarte "Prozesse" beläuft sich nicht auf einen so hohen Prozentsatz meines tatsächlichen Speichers.


Nebenbei bemerkt, soll meine Datenträgernutzung manchmal bis zu 100% ansteigen? Die Forschung scheint dies zu sagen.

Ryld
quelle
1
Veröffentlichen Sie Details zu Ihrer Hardware. Verwenden Sie ein Broadcom Wifi-Gerät?
magicandre1981

Antworten:

42

"Warum ist mein" Committed "-Speicher so viel höher als mein tatsächlicher RAM-Speicher?" Da es sich bei "Festgeschrieben" hauptsächlich um einen prozessprivaten virtuellen Adressraum handelt, kann sich ein Teil davon im Arbeitsspeicher und ein Teil in der Auslagerungsdatei befinden.

Und manche könnten überhaupt keinen Speicherplatz belegen! Das ist, wenn es zugewiesen, aber nie zugegriffen wurde, also noch nicht "fehlerhaft" ist. Aber es zählt immer noch gegen die „Grenze begehen“ , denn wenn sie es in der Zukunft abgerufen ist, wird sie besetzen Speicher dann . Und das ist zu spät, als dass das System sagen könnte: "Entschuldigung, wir haben keinen Platz mehr."

Der springende Punkt beim virtuellen Speicher ist, dass er viel größer sein kann als der physische (RAM), nicht wahr?

Übrigens ... Sie haben anscheinend eine Auslagerungsdatei von ungefähr 24 GB, da Sie über 8 GB RAM verfügen und das Commit-Limit 32 GB beträgt. Ihr "Committed" kann also bis zu 32 GB betragen. (Und im Moment ist es fast so hoch, also wäre es eine schlechte Idee, die Auslagerungsdatei zu verkleinern oder zu entfernen.)

Während RAM verwendet wird, ist genau das. Daher kann der verwendete RAM + die verwendete Auslagerungsdatei natürlich größer sein als der verwendete RAM.

Ein Teil des gesamten virtuellen Speichers besteht schließlich darin, dass mehr virtueller Speicher verwendet werden kann als physischer Speicher (RAM).

Wenn Sie herausfinden möchten, wie viel Commit-Speicher verwendet wird, müssen Sie auf der Registerkarte "Details" des Task-Managers nachsehen und die Spalte "Commit-Größe" aktivieren.

Die Summe der Spalten "Commit-Größe" ergibt auch nicht die "Commit-Gebühr" (30,1 GB auf Ihrem Computer), da andere Faktoren zur Commit-Gebühr beitragen: nicht ausgelagerter und ausgelagerter Pool und einige "subtilere" Mechanismen wie das Kopieren -Schreibabschnitte, durch Seitendateien gesicherte Abschnitte, AWE-Zuordnungen, aber diese sind im Vergleich zu prozessprivaten Abschnitten normalerweise klein.

Auf dieser Registerkarte entspricht die Spalte "Speicher (privater Arbeitssatz)" dem, was auf der Registerkarte "Prozesse" für "Speicher" angezeigt wird. Dies ist der RAM, der derzeit jedem Prozess für seinen festgeschriebenen virtuellen Adressraum zugewiesen ist. Der Rest befindet sich in der Auslagerungsdatei. Aber auch hier haben Prozesse andere Arten von Adressräumen, die meistens als "zugeordnet" bezeichnet werden, und ein Teil davon befindet sich ebenfalls im RAM. Es gibt andere systemweite Dinge, die vom Betriebssystem erstellt werden und für keinen Prozess spezifisch sind und auch RAM verbrauchen.

Kurz gesagt, die Spalte "Speicher" der Registerkarte "Prozesse" soll nicht den gesamten verwendeten Arbeitsspeicher addieren. Es wird nur angezeigt, wie viel der Gesamtnutzung von jedem Prozess privat genutzt wird.

Jamie Hanrahan
quelle
Ich war über Post "@Ryld Wenn Sie mehr über virtuellen Speicher erfahren möchten, lesen Sie diese wirklich gute Antwort von einer anderen Frage" ... Dann bemerkte ich, dass die Antwort, auf die ich verlinke, auch von Ihnen geschrieben wurde :). Ich glaube, ich habe 4 oder 5 andere Fragen zum virtuellen Speicher an diese Antwort gerichtet, danke, dass Sie eine so gute Antwort gegeben haben.
Scott Chamberlain
2

Windows verwendet eine Auslagerungsdatei, die dem RAM ähnelt, jedoch auf Ihrer Festplatte gespeichert ist. Es ist viel langsamer, aber nützlich, wenn Sie mehr Speicher benötigen, als Sie auf Ihrem Computer haben. Windows speichert Teile des Arbeitsspeichers, die eine Weile nicht verwendet wurden, in der Auslagerungsdatei, wenn mehr Arbeitsspeicher benötigt wird, der Arbeitsspeicher jedoch keinen Speicherplatz enthält.

Der festgeschriebene Speicher ist der auf Ihrem Computer vorhandene Speicher sowie die Auslagerungsdatei. Es sieht so aus, als würden Programme manchmal zu viel Arbeitsspeicher belegen und Windows einige Dinge in der Auslagerungsdatei speichern. Die Auslagerungsdatei war nicht groß genug für alle in ihr gespeicherten Speicherfenster und musste daher vergrößert werden. Es vergrößerte sich immer weiter, bis es an seine Grenzen stieß. Jetzt kann Windows die Auslagerungsdatei nicht weiter vergrößern, was bedeutet, dass kein zusätzlicher Speicherplatz verfügbar ist. Daher können Sie nur einige Programme schließen, um die Speichernutzung zu verringern. Der Grund, warum Ihr Computer langsam ist, ist, dass er Daten aus der Auslagerungsdatei laden muss. Dies ist viel langsamer als das Laden direkt aus dem RAM und führt zu einer sehr hohen Datenträgernutzung, da die Auslagerungsdatei auf der Festplatte gespeichert ist.

Sie sollten nicht so viele Programme geöffnet haben wie Sie und sicherstellen, dass Ihr Computer über genügend Speicher für die von Ihnen gespielten Spiele und die von Ihnen verwendeten Programme verfügt. Ich hoffe das hilft!

theodoros_1234
quelle