web-dev-qa-db-ja.com

Windows 7のキャッシュにファイルを保持するにはどうすればよいですか?

Windowsよりも後で再利用されるファイルをよく知っている場合があります。 8GBのメモリがあり、I/Oバウンドアプリケーションで1時間ごとに同じ1GBのファイルを使用するとします(1時間かかります)。ファイルがキャッシュされている場合は2番目に終了し、キャッシュされていない場合は1分です。)次に、再利用されない他の16GBのデータを処理します。当然、頻繁に使用される1GBのファイルはキャッシュからプッシュされます。その1GBのファイルをメモリに保持するようにWindowsに指示できれば有益です。 (さらに良いことに、これらの16GBのデータをキャッシュしないようにWindowsに指示できれば素晴らしいのですが、これができるとは楽観的ではありません。)

ネットワーク共有内のファイルの場合、状況はさらに悪化します。Windowsは、空きメモリがある場合でも、キャッシュからファイルを削除します。ファイルをすぐに再利用した場合でも、ファイルはキャッシュに残ります。ただし、ファイルを閉じて30秒間待つと、キャッシュがなくなり、システムはリモートサーバーからファイルを再フェッチする必要があります。私は3Mbpsのネットワークリンクを使用していて、サイズが約10 MBのファイルを処理しているため、これは非常に目立ちます。

ファイルをキャッシュに保持する貧乏人の方法は、ファイルを読み続けることです。もっと良い方法はありますか?これを行うプログラムを知っていますか?

(これがLinuxで簡単に実行できる場合は、私にも知らせてください。)

6
netvope

2つのことが思い浮かびます。

  1. 最初に使用する前にファイルを RamDisk にコピーし、使い終わったらファイルに戻します。 ( QSoftのRamDisk $ 12が推奨されました ここ
  2. 高速を購入する SSDドライブ そしてそれが(十分に)役立つかどうかを確認する
3
Nifle

これは、dllなどの特定のタイプで可能です。

Windowsは、一般的に使用される一連のdllをキャッシュします。これらは「既知のDLL」です。 dllファイルをキャッシュしておくには、そのセットの一部である必要があります。

0
User Hat