Gibt es eine Möglichkeit, den Windows-Dateicache zurückzusetzen?


9

Wenn eine Anwendung eine Datei von einem Medium liest, ist das Timing zum ersten Mal von Bedeutung, da die Datei tatsächlich gelesen wird, manchmal mehrere Minuten. Bei nachfolgenden Lesevorgängen dauert es jedoch nur wenige Sekunden und es gibt keine Festplattenaktivität. Ich gehe davon aus, dass Windows die gelesene Datei im Speicher hält.

Gibt es eine Möglichkeit, Windows anzuweisen, den Cache für eine Datei zu löschen und sie zu zwingen, sie erneut vom Medium zu lesen?

Offensichtliche Problemumgehungen bestehen darin, die Verbindung zu trennen und ein Laufwerk erneut zu verbinden (falls es extern ist) oder Windows neu zu starten. Gibt es einfachere Möglichkeiten?


Mögliches Duplikat von So löschen Sie den Windows-Dateicache
Bob

Es gibt auch die StackOverflow-bezogene Frage: Löschen Sie den Datei-Cache, um Leistungstests zu wiederholen , und aus Programmiersicht gibt es einen MSDN-Artikel mit einigen Windows-API-Flags: Datei-Caching
Bob

@ Bob: Ich habe es gesehen, aber es war eine andere Frage.
Jemand

Es scheint, dass dies doch nicht möglich ist ...
jemand

Welche Version von Windows?
David Schwartz

Antworten:


9

Der legendäre Programmierer Mark Russinovich hat eine große Anzahl von Tools erstellt, die in jedem Windows-Administrator- und Entwickler-Toolkit enthalten sein müssen. Eines dieser Tools ist RAMMap . Unter Vista und höher (und 2008R2 später) können Sie mit RAMMap ausgewählte Speicherpools freigeben.

Die gewünschte Option ist Empty-> Empty Standby List- zwischengespeicherte Seiten, die sauber sind und daher freigegeben werden können, befinden sich in der Standby-Liste. Beachten Sie, dass in der RAMMap-Anzeige nichts passiert, da sie nicht automatisch aktualisiert wird. Sie können drücken F5, um die Anzeige zu aktualisieren oder im Task-Manager oder einem anderen Tool zu sehen.


1
Das hat tatsächlich funktioniert! Ich liebe das Werkzeug. Vielen Dank. :)
jemand

1
Es hat bei mir 2008 R2 mit einer USB-Festplatte funktioniert.
Jemand

Gibt es eine Möglichkeit, die Standby-Liste automatisch / regelmäßig zu leeren? Windows 7 füllt es immer wieder ärgerlich auf, und ich muss es leer lassen, aber ich möchte den Standby-Speicher nicht visuell mit dem Ressourcenmonitor überwachen und dann die Option für die leere Standby-Liste von RAMMap manuell verwenden müssen.
Kirk Boyer

Es ist schmerzhaft. Die Methode ist: 1) Weisen Sie ungefähr so ​​viel Speicher zu, wie Speicher in der Standby-Liste vorhanden ist. 2) Verschmutzen Sie die ganze Erinnerung. 3) Befreie es.
David Schwartz

The option you want is Empty -> Empty Standby List -- cached pages that are clean and thus eligible to be freed will be in the Standby List.Klingt vielversprechend, aber was hat das mit dem Laufwerk-Lese-Cache zu tun? Woher weiß man, dass das Menü für Festplatten-Caches gilt?
Synetech

-2

Ja, es gibt ein Programm, das den Dateicache automatisch alle 5, 10 oder jede andere benutzerdefinierte Anzahl von Minuten reduzieren kann. Der Hauptzweck des Programms besteht darin, die Speichernutzung von Programmen und Prozessen zu reduzieren, aber es kann auch den Dateicache automatisch leeren / reduzieren. Das Programm heißt CLEANMEM und bietet dem Benutzer eine sehr einfache Möglichkeit, den Dateicache sowohl automatisch als auch manuell zu reduzieren.


1
Wenn Sie eine Antwort veröffentlichen möchten, geben Sie eine Antwort ein.
Excellll

OK. Das Programm, auf das ich mich beziehe, ist CLEANMEM.
Willy2
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.