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_BUFFERING
werden. 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.