Как ускорить отображение файлов в памяти по сети? [closed]

Сопоставление памяти файла с файловым ресурсом SMB приводит к тому, что он полностью передается перед возвратом вызова. Для больших файлов это приводит к зависанию приложения на длительный период времени. Как мне это исправить?

«Использовать X вместо SMB» - правильный ответ.

Редактировать: Любое приложение, любой файл. Я не пытаюсь раскрыть конкретный случай. Отображение файла в память - это способ его открытия, чтобы он представлялся приложению как часть рабочей памяти - вы обращаетесь к файлу как к массиву.

1
задан 27 August 2011 в 13:23
1 ответ

Это артефакт реализации операционной системы mmap , не имеющий ничего общего с используемым сетевым протоколом (как бы я ни любил трепаться по SMB .. .). SMB более чем способен читать случайные фрагменты из файла, поэтому нет причин, по которым он не может читать фрагменты по запросу. У меня нет SMB-сервера, доступного в данный момент для проверки, но у меня есть NFS-сервер, и я просто попытался mmap файл размером 1,7 ГБ, и он вернулся мгновенно, так что по крайней мере это определенно не какое-то внутреннее ограничение в концепции mmap.

2
ответ дан 3 December 2019 в 22:03

Теги

Похожие вопросы