Чтение файла без кэширования диска в Java

Я обучаю нейронную сеть, используя чрезвычайно большой набор данных примеров, которые не могут быть полностью загружены в ОЗУ одновременно. Чтобы тренироваться, я читаю каждый пример из списка сериализованных файлов, которые составляют набор данных. Windows Disk Caching загружает каждый пример в оперативную память при первом прочтении. Обычно это ускоряет последующее чтение того же файла, потому что ОЗУ быстрее диска, но поскольку мой набор данных настолько большой, к тому времени, когда я возвращаюсь к нему, файл удаляется из ОЗУ, поэтому никаких дополнительных преимуществ не возникает.

Я хотел бы предотвратить накопление ОЗУ в максимально возможной степени, поскольку это замедляет все другие процессы на компьютере. В настоящее время лучшее решение, которое я могу придумать, - отключить кэширование диска для файлов, которые я читаю. Возможно ли это в Windows и Java? Я также открыт для альтернативных решений; все, что позволяет мне перебирать примеры наборов данных без наращивания ОЗУ.

ОБНОВЛЕНИЕ: проблема, которую я пытался решить, не была вызвана наращиванием ОЗУ из Disk Caching. Вместо этого мои медленные скорости чтения были результатом плохой структуризации файлов с моей стороны. Прочитайте последний комментарий в OP для более подробной информации.

0 ответов

Другие вопросы по тегам