在 Windows 7(64 位)下,我正在阅读 9000 个中等大小的文件。总共有超过 200 MB 的数据。使用 Java (JDK 1.6.21) 我正在遍历文件。第一个 1400 左右全速运行,但随后速度下降到每个文件 4ms。事实证明,主要成本仅是通过打开文件而产生的。
我正在使用打开文件new FileInputStream(当然还要及时关闭它们以避免文件泄漏)。经过一番调查,我发现 Windows 的磁盘缓存只使用了 100 MB 左右的 RAM,尽管我有 8 GiB 可用。我已尝试使用CacheSet工具增加缓存大小,但我提供的任何值都被视为超出范围。
我也尝试启用LargeSystemCache注册表项,但(重新启动后)该CacheSet工具仍然表明我正在使用 100 MB 的缓存(并且在测试运行期间不会增加)。有人对“鼓励”Windows 7 缓存我的 9000 文件有什么建议吗?