我想知道 Linux 内核中的缓冲区缓存是否存在于用于 DVD 和 FUSE 的 UDF 等文件系统中?
我试图搜索这个,但不幸的是发现的信息很少。
谢谢。
我想知道 Linux 内核中的缓冲区缓存是否存在于用于 DVD 和 FUSE 的 UDF 等文件系统中?
我试图搜索这个,但不幸的是发现的信息很少。
谢谢。
缓冲区缓存将用于对针对块设备打开的文件句柄的任何访问,除非文件句柄是用O_DIRECT
. 这包括代表 FUSE 文件系统的访问。请注意,如果 FUSE 也进行缓存(我不知道),这可能会导致数据的双重缓存;与普通的内核文件系统不同,使用 FUSE,内核不能安全地重叠页面和缓冲区缓存。在这种情况下,可能值得考虑O_DIRECT
在 FUSE 文件系统守护进程中使用以减少缓存压力(但请务必先进行分析!)。
对于 UDF 等内核内文件系统,缓冲区缓存将用于所有 IO。对于包含文件数据的块,该块将同时位于缓冲区和页面缓存中(使用相同的底层内存)。这将在内存使用统计中计为页面缓存,而不是缓冲区缓存。