Буферный кеш будет использоваться для любого доступа к файловому дескриптору, открытому для блочного устройства, если дескриптор файла не открыт с помощью O_DIRECT
.Это включает доступы от имени файловых систем FUSE.Обратите внимание, что если FUSE также выполняет кеширование (я не знаю, как это происходит не случайно), это может привести к двойному кешированию данных;в отличие от обычных файловых систем в ядре, с FUSE ядро не может безопасно перекрывать страницы и буферные кеши.В этом случае, возможно, стоит подумать об использовании O_DIRECT
в демоне файловой системы FUSE для уменьшения нагрузки на кэш (но сначала нужно выполнить профилирование!).
Для файловых систем в ядре, таких как UDF, буферный кэшбудет использоваться для всех IO.Для блоков, содержащих данные файла, блок будет одновременно находиться как в буфере, так и в кэше страниц (используя одну и ту же базовую память).Это будет учитываться как кеш страниц, а не кеш буферов, в статистике использования памяти.