Windows, warum fühlen sich Ihre 8 GB RAM wie ein paar MB an?

7

Ich arbeite unter Windows 7 x64 mit 4-Kern Intel i7 und 8 GB RAM, aber in letzter Zeit scheint sich der "RAM" meines Computers ausschließlich auf der Festplatte zu befinden.

Der Task-Manager zeigt Folgendes:

Screenshot des Task-Managers

Die Gesamtmenge an Speicher, die von den Prozessen in der Liste verwendet wird, beträgt nur etwa 1 GB. Und was seit einigen Tagen auf meinem Computer passiert, ist, dass ein Programm (Cataloger.exe) kontinuierlich große Mengen von Dateien (jeweils ca. 5-10 MB) verarbeitet und diese zum Zwecke der Katalogisierung wiederholt öffnet und liest. Aber es wächst nicht zu viel im Speicher und bleibt ungefähr so ​​groß, 100 MB. Die Datenmenge, die beispielsweise in 30 Minuten verarbeitet wird, kann jedoch in Gigabyte gemessen werden.

Meine Vermutung war also, dass das Zwischenspeichern von Windows-Dateien etwas damit zu tun hat. Und nach einigen Recherchen zu diesem Thema bin ich auf dieses Programm namens RamMap gestoßen, das detaillierte Informationen zum RAM eines Computers anzeigt. Hier ist der Screenshot:

RamMap-Screenshot

Für mich sieht es so aus, als würde Windows riesige Datenmengen im RAM speichern, die nicht mehr benötigt werden, und alle RAM-Zuweisungsanforderungen an die Auslagerungsdatei auf der Festplatte umleiten. Selbst wenn ich Cataloger.exe schließe, meldet die RamMap die Größe der zugeordneten Datei für eine lange Zeit ungefähr gleich. Und es ist nicht nur dieses spezielle Programm. Früher bemerkte ich, dass eine ähnliche Verlangsamung nach einigen massiven Dateivorgängen mit anderen Programmen auftrat. Es ist also wirklich kein außergewöhnliches Verhalten von Cataloger.exe und das Problem hat sich in der Vergangenheit oft manifestiert.

Was auch immer es ist, es verlangsamt den Computer um das 50-fache. Das Öffnen eines neuen Tabs in Chrome dauert 20 bis 30 Sekunden. Das Öffnen eines neuen Programms kann bis zu einer Minute dauern. Aufgrund der Verlangsamung stürzen einige Programme sogar ab.

Was denkst du, versteckt sich das Problem im Datei-Caching oder woanders? Wie löse ich es?

Desmond Hume
quelle
3
5,2 G dieser 5,9 G sind als Standby gekennzeichnet, sie werden tatsächlich nicht verwendet. Tatsächlich ist mehr als die Hälfte Ihres Systemspeichers für jeden verfügbar, der ihn benötigt. Bei welchen Vorgängen haben Sie genau das Gefühl, dass Ihr Computer nicht so gut funktioniert wie er könnte?
Der Hochstapler
2
@OliverSalzburg Programme reagieren nicht mehr, eine TXT-Datei, die in einem einfachen Texteditor geöffnet werden soll, wird nach 5 Minuten Wartezeit geöffnet. Chrome friert fast vollständig ein. Wenn Chrome nicht einfriert, ist es unglaublich langsam und ich kann physisch hören, wie Die Festplatte beginnt hart zu arbeiten (daher meine Vermutung über die Auslagerungsdatei), wenn ich versuche, einen neuen Tab zu öffnen, was sehr lange dauert. Wenn mein Computer die Festplatte intensiv nutzt, sinkt die Leistung in der Regel deutlich. Wenn die Festplatte nicht in großem Umfang verwendet wird, ist mein PC nur ein süßer Kuchen.
Desmond Hume
1
@Shinrai habe ich so nicht gemacht. Mein PC ist für die Nacht ausgeschaltet. Aber wenn ich es einschalte und einige Dateivorgänge starte, wie das Verschieben / Kopieren vieler Dateien oder das Aufheben der Archivierung großer Mengen von Dateien, kann es in nur 10 Minuten ungewöhnlich langsam werden.
Desmond Hume
1
@ DesmondHume - Es könnte also ein Problem mit der Festplatte sein. Oder der Festplattencontroller. Oder das Dateisystem könnte beschädigt sein. Es gibt eine Reihe anderer Möglichkeiten.
Shinrai
2
@DesmondHume: Nun, dies könnte auch darauf hinweisen, dass "ein Prozess" die Festplatte einfach übermäßig nutzt, was die Gesamtsystemleistung verringert. Es ist nicht , um eine niedrige RAM / Paging - Situation zeigen (und Ihr Screenshot anzeigt auch nicht ein). Bitte sehen Sie superuser.com/questions/404617/… und, falls erforderlich, superuser.com/questions/26862/…
Der Hochstapler

Antworten:

11

Dies ist wie gewohnt und alles funktioniert einwandfrei. Windows speichert zwischengespeicherte Dateien nicht gegenüber anderen Daten im Speicher. Zwischengespeicherte Dateien bedeuten, dass Windows sie zu einem bestimmten Zeitpunkt in den Speicher laden oder von der Festplatte lesen musste und seitdem keine höhere Priorität mehr vorhanden ist. Sobald Sie den Computer wieder verwenden und Programme Speicher anfordern, entfernt Windows die zwischengespeicherten Dateien gerne, um Platz zu schaffen.

Wenn Sie sich RAMMap ansehen, werden Sie feststellen, dass die meisten dieser zwischengespeicherten Dateien unter "Standby" zugewiesen sind. Dies bedeutet, dass sie im Speicher gespeichert werden, da Windows sie in der Vergangenheit benötigt hat, sie möglicherweise erneut benötigt und sie recht gerne verwirft wenn etwas anderes tatsächlich den Raum braucht.

Grundsätzlich sehen Sie hier, dass Ihr Programm das Laden einer großen Datendatei anfordert, sodass Windows diese in den Speicher lädt. Das Verwalten von Speicher ist ein sehr komplexer Prozess, und was Windows hier unter dem Deckmantel tut, ist ein Urteil: Es betrachtet die aktuellen Prozesse und stellt fest, dass Chrome beispielsweise 5 GB Speicher belegt (viele Registerkarten!), Aber dass der größte Teil dieser Erinnerung in der letzten Stunde nicht berührt wurde. Zu diesem Zeitpunkt hat es die Wahl: Es kann Chrome im Speicher belassen und die Dateien nicht zwischenspeichern. Dies bedeutet, dass der Katalogisierungsprozess Stunden statt Minuten dauern kann, um eine Datei zu verarbeiten, insbesondere wenn sie häufig in der Datei herumspringt. oder es kann die Chrome-Registerkarten ausblenden und die Cataloger-Datei in den Speicher laden und diesen Vorgang schnell abschließen.

Jetzt werden Sie den Schmerz spüren, wenn Windows Chrom wieder in den Speicher verschieben muss, aber Windows wird dies erst tun, wenn Sie es anfordern (dh Chrom wieder in den Vordergrund bringen und eine Registerkarte auswählen, die ausgelagert wurde), und was Letztendlich muss von Ihnen bewertet werden, ob der Schmerz größer oder kleiner ist als der Schmerz Ihrer Cataloger-Aufgabe, die auf ihren Speicher warten muss. Sie können versuchen, das Programm als Dienst auszuführen und Windows anzuweisen, die Reaktionsfähigkeit zu optimieren oder die Prozesspriorität zu senken. Ich bin mir jedoch ziemlich sicher, dass der Cataloger-Prozess so schnell wie möglich abgeschlossen werden soll Es maximiert Ihre Festplatten-E / A, Ihr gesamtes System wird unglaublich träge. Alles, was Festplatten-E / A erfordert, wird in eine Warteschlange gestellt (sogar Webbrowsing - es hat auch einen Cache, den es verwendet!). Programme werden langsam geöffnet,


Wenn das Programm nur Datei für Datei nacheinander liest und sie dann nicht erneut berührt, stimme ich zu, dass Windows die Dateien nicht zwischenspeichern muss. Das Problem hier ist, dass Windows das nicht weiß, weil niemand sagt, dass sie nicht zwischengespeichert werden müssen.

Wenn Sie Zugriff auf den Quellcode für das Cataloger-Programm haben (oder Änderungen daran anfordern können), kann dieser so konfiguriert werden, dass Dateien mit geöffnet FILE_FLAG_NO_BUFFERINGwerden. Dadurch überspringt Windows den Festplatten-Cache für Dateien, die vom Programm auf diese Weise geöffnet wurden .

Wenn dies keine Option ist, würde ich mich umsehen, ob ein Ersatzcomputer nicht verwendet wird und ob er als dedizierter Computer eingerichtet werden kann, es sei denn, der Cataloger-Prozess muss auf Ihrem System ausgeführt werden zum Katalogisieren dieser Dateien. Wenn es noch keinen gibt, kann das einfache Erhöhen des Arbeitsspeichers eine weitere Option sein. Die Speicherpreise sind heutzutage recht günstig, und Entwickler wissen dies - die meisten Dinge sind auf Kosten des Speichers auf Geschwindigkeit und Reaktionsfähigkeit optimiert. 8 GB sind nicht mehr das, was es früher war.

Eine andere Möglichkeit besteht darin, alle verwendeten Dateien auf eine separate Festplatte zu verschieben und das Festplatten-Caching für dieses Laufwerk speziell zu deaktivieren.

Darth Android
quelle
1
Ich sehe immer noch keine Gründe für eine solch dramatische Verlangsamung. Die Cataloger.exe verarbeitet die Dateien nacheinander und behält nur etwa 100 MB Speicherplatz: Sie öffnet eine Datei, liest sie, schließt sie und wechselt zu einer anderen Datei. Die Dateien sind nicht zu groß, nur 5-10 MB. Warum muss mein Computer deshalb fast einfrieren? Wie löse ich das Problem überhaupt?
Desmond Hume
1
@DesmondHume Es ist eher so, dass Sie einen der seltenen Fälle gefunden haben, in denen Windows eine falsche Annahme macht - Idealerweise werden diese Dateien nicht zwischengespeichert, aber in 99,9% der ähnlichen Situationen möchten Sie diese Dateien zwischenspeichern (z , ein Spiel, das Texturen von der Festplatte lädt, wo sie Level für Level wiederverwendet werden). Der Trick besteht darin, herauszufinden, wie Windows am besten mitgeteilt werden kann, dass diese nicht zwischengespeichert werden müssen.
Darth Android
2
Ich habe keinen Quellcode für Cataloger.exe. Und wie ich in meinem Beitrag erwähnt habe, ist Cataloger.exe in keiner Weise etwas Besonderes. Die meisten Operationen mit großen Dateien haben den gleichen negativen Effekt, unabhängig vom Programm. Und Ratschläge wie "mehr RAM kaufen" oder "einen anderen Computer kaufen" sind wirklich schwer zu schätzen, sorry.
Desmond Hume
2
@DesmondHume Ich kann das verstehen - Das zugrunde liegende Problem ist, dass Sie als Benutzer Windows nicht willkürlich anweisen können, bestimmte Dateien nicht zwischenzuspeichern. Wenn Sie den Festplatten-Cache vollständig deaktivieren, wird Ihre Leistung in allen Programmen ständig beeinträchtigt. Ich denke, Sie können Windows anweisen, keine Dateien auf einem bestimmten Laufwerk zwischenzuspeichern, aber selbst dort bin ich mir nicht 100% sicher, da ich das selbst nie testen musste.
Darth Android
1
Kann ich mit diesem Programm eine Grenze für die Größe des Dateicaches festlegen oder ist dies für meinen Fall irrelevant? technet.microsoft.com/en-us/sysinternals/bb897561.aspx
Desmond Hume
-1

Ich hatte genau das gleiche Problem, es ist ein Prozess namens "Intellimem.exe". Ich habe es gelöscht und KABOM! von 80% der RAM- und Auslagerungsdatei bis zu keiner Auslagerungsdatei und 20% der RAM-Auslastung! und ich habe keine probleme.

user304584
quelle