java - 在Java中读取没有磁盘缓存的文件
问题描述
我正在使用一个无法一次完全加载到 RAM 中的非常大的示例数据集来训练神经网络。为了训练,我从包含数据集的序列化文件列表中读取每个示例。Windows 磁盘缓存在我第一次读取每个示例时将其加载到 RAM 中。通常这会加快对同一文件的后续读取,因为 RAM 比磁盘快,但由于我的数据集太大,当我循环回到它时,文件已从 RAM 中删除,因此没有额外的好处。
我想尽可能地防止 RAM 堆积,因为它会减慢机器上的所有其他进程。目前我能想到的最好的解决方案是为我读取的文件禁用磁盘缓存。这在 Windows 和 Java 中可行吗?我也对替代解决方案持开放态度;任何允许我在没有 RAM 积累的情况下迭代数据集示例的方法。
更新:我试图解决的问题不是由磁盘缓存造成的 RAM 堆积引起的。相反,我的缓慢读取速度是由于我的文件结构不佳造成的。阅读 OP 中的最后一条评论以获取更多详细信息。
解决方案
推荐阅读
- sql - 列的总和和行之间的列表差异
- java - 在 KafkaProducer.send(message) 上,我收到“序列化 Avro 消息的异常错误”
- nginx - 如何解决 Nginx 错误 nginx: [emerg] conf:1 中的未知指令“server”?
- reason - 如何通过可选的标记参数将 onClick 处理程序从父组件传递到子组件
- google-api - G Suite Marketplace SDK 将可见性从 My Domain 更改为 Public?
- django - React + Django Axios 问题
- ansible - 如何获取 ansible 塔主机名
- javascript - 使用简单的javascript在对话框外单击
- bluetooth - is Bluetooth BR/EDR same as bluetooth Classic
- r - 在 R & dabestr 中,如何正确获得分组差异?