ファイルをWindows 7のキャッシュに保存する方法を教えてください。


6

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

ネットワーク共有内のファイルの場合、状況はさらに悪化します。空きメモリがあっても、Windowsはキャッシュからファイルを削除します。ファイルをすぐに再利用した場合でも、ファイルはキャッシュに残ります。しかし、ファイルを閉じて30秒間待つと、キャッシュは消えてしまい、システムはリモートサーバーからファイルを再取得する必要があります。私にとっては、これは非常に顕著です。私は3 Mbpsのネットワークリンク上にいて、サイズが約10 MBのファイルで作業しているからです。

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

(Linuxでこれが簡単にできるのなら、私にも教えてください。)

回答:


3

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

  1. ファイルを ラムディスク 最初に使用する前にそれを使い終わったらファイルに戻してください。 ( QSoftのRamDisk 12ドルでお勧めしました ここに
  2. 速く買う SSDドライブ そしてそれが(十分な)助けになるかどうかを確かめる

そのため、Windowsにディスクキャッシュにいくつかのファイルを保存するように指示する方法はありません。ネットフレームワーク?
OverTheRainbow

OverTheRainbow:いいえ、ありません。これらのプログラムはこれらのファイルにどのようにアクセスしますか? MapViewOfFile、または従来のReadFile / WriteFile(ugh)
Jamie Hanrahan

0

これは特定のタイプ、例えばdllで可能です。

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


OPは既知のDLLについて質問していません
pun

1
「データ」、ネットワーク共有、およびLinuxへの言及は、彼がDLLについて尋ねている可能性を除外しているように見えますが、実際には、OPは彼が話しているファイルの種類について具体的ではありません。 (そして今、私は1GBのDLLファイルについて悪夢を見ることになるでしょう。)
Scott
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.