2

我想知道 Linux 内核中的缓冲区缓存是否存在于用于 DVD 和 FUSE 的 UDF 等文件系统中?

我试图搜索这个,但不幸的是发现的信息很少。

谢谢。

4

1 回答 1

5

缓冲区缓存将用于对针对块设备打开的文件句柄的任何访问,除非文件句柄是用O_DIRECT. 这包括代表 FUSE 文件系统的访问。请注意,如果 FUSE 也进行缓存(我不知道),这可能会导致数据的双重缓存;与普通的内核文件系统不同,使用 FUSE,内核不能安全地重叠页面和缓冲区缓存。在这种情况下,可能值得考虑O_DIRECT在 FUSE 文件系统守护进程中使用以减少缓存压力(但请务必先进行分析!)。

对于 UDF 等内核内文件系统,缓冲区缓存将用于所有 IO。对于包含文件数据的块,该块将同时位于缓冲区和页面缓存中(使用相同的底层内存)。这将在内存使用统计中计为页面缓存,而不是缓冲区缓存。

于 2011-05-24T20:48:02.583 回答