Wie kann ich eine Datei im Cache von Windows 7 aufbewahren?

1672
netvope

Manchmal wissen Sie besser als Windows, welche Dateien später wiederverwendet werden. Angenommen, Sie verfügen über 8 GB Arbeitsspeicher und verwenden in einer E / A-gebundenen Anwendung jede Stunde die gleiche 1 GB-Datei (dies dauert 1 Sekunde, wenn die Datei zwischengespeichert ist, und 1 Minute, wenn nicht.) Jetzt verarbeiten Sie weitere 16 GB von Daten, die nicht wiederverwendet werden. Natürlich wird die häufig verwendete 1 GB-Datei aus dem Cache verschoben. Es wäre vorteilhaft, wenn Sie Windows anweisen können, diese 1 GB-Datei im Speicher zu behalten. (Besser noch, es wäre großartig, wenn man Windows sagen kann, diese 16 GB Daten nicht zu cachen, aber ich bin nicht optimistisch, dass dies möglich ist.)

Bei Dateien in Netzwerkfreigaben ist die Situation noch schlimmer: Windows entfernt Dateien aus dem Cache, auch wenn freier Speicher verfügbar ist. Wenn Sie eine Datei sofort wieder verwenden, befindet sie sich weiterhin im Cache. Wenn Sie die Datei jedoch schließen und 30 Sekunden warten, ist der Cache nicht mehr vorhanden, und das System muss die Datei erneut vom Remote-Server abrufen. Für mich ist das sehr auffällig, da ich über eine 3 Mbps-Netzwerkverbindung arbeite und mit Dateien arbeite, die etwa 10 MB groß sind.

Der arme Mann, eine Datei im Cache zu behalten, würde darin bestehen, die Datei immer wieder zu lesen. Gibt es bessere Wege? Kennen Sie Programme, die dies tun?

(Wenn dies unter Linux problemlos möglich ist, lass es mich auch wissen.)

6

2 Antworten auf die Frage

3
Nifle

Zwei Dinge fallen mir ein.

  1. Kopieren Sie die Datei vor der ersten Verwendung auf eine RamDisk und verschieben Sie sie in die Datei, wenn Sie damit fertig sind. ( QSofts RamDisk für $ 12 wurde hier empfohlen )
  2. Kaufen Sie ein schnelles SSD-Laufwerk und sehen Sie, ob das hilft (genug)
Es gibt also keine Möglichkeit, Windows mitzuteilen, dass sich einige Dateien im Festplatten-Cache befinden, z. das .Net-Framework? OverTheRainbow vor 12 Jahren 0
OverTheRainbow: Nein, das gibt es nicht. Wie greifen diese Programme auf diese Dateien zu? MapViewOfFile oder traditionelles ReadFile / WriteFile (ugh)? Jamie Hanrahan vor 10 Jahren 0
0
User Hat

Dies ist bei bestimmten Typen möglich, zum Beispiel dll:

Windows speichert einen Satz von DLLs, die häufig verwendet werden, die bekannten DLLs. Damit eine DLL-Datei zwischengespeichert werden kann, muss sie nur Teil dieses Satzes sein.

OP fragt nicht nach bekannten DLLs pun vor 8 Jahren 0
Tatsächlich ist das OP nicht spezifisch, über welche Art von Datei er spricht, obwohl die Verweise auf "Daten", Netzwerkfreigaben und Linux die Möglichkeit ausschließen, dass er nach DLLs fragt. (Und jetzt habe ich Albträume über eine 1 GB DLL-Datei.) Scott vor 8 Jahren 1