Windows 7(64ビット)では、9000の中程度のサイズのファイルを読んでいます。合計で、200 MBを超えるデータがあります。Java(JDK 1.6.21)を使用して、ファイルを繰り返し処理しています。最初の1400程度はフルスピードで動作しますが、ファイルごとに4ミリ秒まで速度が低下します。ファイルを開くだけで主なコストが発生することがわかりました。
を使用してファイルを開きますnew FileInputStream
(もちろん、ファイルリークを防ぐために時間内に閉じます)。いくつかの調査を行った結果、8 GiBを使用できますが、Windowsのディスクキャッシュは100 MB程度のRAMしか使用していないことがわかりました。CacheSetツールを使用してキャッシュサイズを増やしてみましたが、指定した値は範囲外と見なされます。
また、LargeSystemCache
レジストリキーを有効にしようとしましたが、(再起動後)CacheSet
ツールは100 MBのキャッシュを使用していることを示しています(テスト実行中に増加しません)。誰かが私の9000ファイルをキャッシュするようにWindows 7を「奨励する」ことを提案していますか?