在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文件?