Ich habe die Auslagerungsdatei in meinem System deaktiviert (Festplatte ist zu langsam, kann keine neue sofort kaufen, Auslagerungsdatei kann nicht auf eine andere Partition verschoben werden). Wenn ich in den Ressourcenmonitor schaue und speicherintensive Anwendungen verwende, zeigt das System, dass die Festschreibungsgebühr fast 100% voll ist. In der Tat, wenn ich weiterhin mehr Speicher benötige, stürzen Programme ab, da die Festschreibungsgebühr effektiv 100% erreicht.
In der Zwischenzeit gibt das System an, dass ich nur 50-60% des physischen Arbeitsspeichers verwende und ungefähr 1 GB Arbeitsspeicher zur Verfügung habe (frei + Standby).
Wenn die Übermittlungsgebühr der tatsächlich angeforderte Gesamtspeicher ist, warum gibt das System an, dass so viel Speicher verfügbar ist? Wird der physische Speicher von Windows nicht verwendet? Ist der Speichergraph falsch? Vermisse ich etwas?
quelle
Antworten:
Das Commit-Limit zu überschreiten, solange noch viel RAM zur Verfügung steht, ist nicht ungewöhnlich. Weder das Festschreibungslimit noch die Festschreibungsgebühr hängen direkt mit dem freien oder verfügbaren RAM zusammen.
Das Festschreibungslimit = aktuelle Auslagerungsdateigröße + RAM-Größe.
Da Sie keine Auslagerungsdatei haben, ist das Festschreibungslimit kleiner als bei einer Auslagerungsdatei. Es spielt keine Rolle, wie viel RAM frei ist . Für das Festschreibungslimit ist nur die Größe des installierten Arbeitsspeichers von Bedeutung . Selbst wenn 90% Ihres Arbeitsspeichers frei oder verfügbar sind, kann Ihnen das Commit-Limit ausgehen.
Commit Charge ist eine Zählung des virtuellen Speichers, nicht des physischen. Angenommen, mein Programm fragt nach 2 GB Commit, greift dann aber nur auf 0,5 GB zu. Die verbleibenden 1,5 GB werden niemals als fehlerhaft eingestuft, werden niemals dem RAM zugewiesen, sodass die RAM-Nutzung nicht die 2 GB, sondern nur die 0,5 GB widerspiegelt.
Trotzdem wird "System-Commit" um 2 GB erhöht, da das System "Commit" ausgeführt hat, dass es einen Platz für meine 2 GB gibt, falls ich eigentlich alles brauche. Die Tatsache, dass ich bei jeder Ausführung des Programms nicht unbedingt versuchen werde, alles zu verwenden, hilft nicht weiter. Ich bat um 2 GB und die erfolgreiche Rückkehr von diesem Anruf sagt mir, dass das Betriebssystem "festgeschrieben" - dh versprochen - dass ich so viel virtuellen Adressraum nutzen kann. Das Betriebssystem kann dieses Versprechen nur geben, wenn es einen Ort gibt, an dem alles aufbewahrt werden kann.
Also: Legen Sie Ihre Auslagerungsdatei zurück, fügen Sie mehr RAM hinzu oder führen Sie weniger Dinge gleichzeitig aus. Oder irgendeine Kombination der drei. Dies sind Ihre einzigen Möglichkeiten, um die Fehler "Wenig Arbeitsspeicher" und "Nicht genügend Arbeitsspeicher" zu vermeiden.
Siehe auch meine Antworten hier (länger) und hier (viel länger).
quelle
Wie der Speicherzuweisungstest in dem Artikel unter http://brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7/ zeigt, ist Windows ein Systemtyp, bei dem eine große Speicherzuweisung fehlschlagen würde Wenn eine solche Zuordnung zusammen mit allen vorherigen Zuordnungen (das Konzept, das Microsoft als "Festschreiben" bezeichnet) die Gesamtsumme des "Festschreibens" über die Summe des physischen Speichers und der Summe aller Auslagerungsdateien (Auslagerungsdateien) bringen würde.
Beachten Sie, dass eine Zuweisung für sich genommen weder physischen noch Swap- Speicher belegt , bevor ein Lese- oder Schreibvorgang innerhalb des virtuellen Adressraums des Prozesses für die oben genannte Zuweisung stattfindet. ZB eine 2 GB Zuteilung von selbst würde nur Auswirkungen auf die „Commit“ Zahlen (in Windows 7 talk), „Physical Memory“ in Ruhe zu lassen (bis Lese- / Schreib innerhalb der genannten Zuordnung geschieht).
In Bezug auf das Betriebssystemdesign besteht der alternative Ansatz darin, die Zuweisung einer beliebigen Größe zuzulassen (es sei denn, der verfügbare Speicher ist bereits vollständig erschöpft) und dann die Anwendungen beim Lesen / Schreiben fehlschlagen zu lassen. Weitere Informationen finden Sie unter /cs/42877/when-theres-no-memory-should-malloc-or-read-write-fail .
quelle
Der verfügbare Speicher entspricht nicht Ihrer Vorstellung. Es ist nicht ungenutzt, es ist wirklich ein Dateicache von kürzlich beendeten Prozessen oder gekürzten Prozessen, die gezwungen wurden, Speicher für andere Prozesse freizugeben. Sie könnten zu ihrem ursprünglichen Zweck zurückgerufen werden. Weitere Einzelheiten finden Sie unter.
http://support.microsoft.com/kb/312628
Da es keine Auslagerungsdatei gibt, ist dies sehr schlecht. Windows verschlechtert sich schlecht ohne ein. Denken Sie daran, dass auch ausführbare Dateien als Auslagerungsdateien verwendet werden, wenn keine Auslagerungsdatei vorhanden ist. Selbst wenn das Laufwerk langsam ist, ist es besser, eine Auslagerungsdatei zu haben, bis Sie bis zu 8 bis 16 GB Arbeitsspeicher haben. Einige Leute denken, dass sogar Windows 7 ohne ein dann laufen kann.
Ich gebe der alten Maschine regelmäßig Auftrieb, indem ich ein paar Dinge tue. Räumen Sie die Festplatte so weit wie möglich auf. Kopieren Sie alles, was Sie vorübergehend vom Laufwerk entfernen können, auf ein Backup. Entfernen Sie nicht benötigte Anwendungen. Apps entfernen kann neu installieren.
Wenn alles erledigt ist, defragmentieren Sie Ihre Festplatte. An diesem Punkt erstellen Sie Ihre Auslagerungsdatei neu. Es ist so nah wie möglich an der Vorderseite des Laufwerks. Erstellen Sie eine feste Größe für das 1,5-fache des Arbeitsspeichers. Das ist meine Regel, normalerweise habe ich Größen zwischen 1 und 3 Zeitgedächtnis gesehen. Dadurch wird die Geschwindigkeit gegenüber den üblichen Orten, an denen sie platziert werden würde, leicht erhöht.
Ich benutze den auslogischen Defrager, der kostenlos ist (Anzeigen für mehr Tools). Es gibt auch andere, die dies tun. Überprüfen Sie die Defragmentierer bei portableapps.com. Es optimiert die Festplatte, indem kürzlich aufgerufene Dateien für einen schnelleren Zugriff in der Nähe der Vorderseite des Laufwerks abgelegt werden. Es wird angezeigt, wo die Auslagerungsdatei abgelegt ist, damit Sie sehen können, ob Sie sie in die oberen 25% des Laufwerks verschoben haben.
Danach installieren Sie die Apps neu und kopieren Ihre Daten zurück.
Ich würde sagen, Sie bekommen 10 oder 20% mehr. Aber der Hauptwert ist, dass das Zögern nachlässt, um ein reibungsloseres Erlebnis zu ermöglichen.
quelle