我想知道Linux内核中的缓冲区缓存是否存在于UDF for DVD和FUSE等文件系统中?
我试图搜索这个,但遗憾的是找不到什么信息。
感谢。
答案 0 :(得分:4)
缓冲区缓存将用于对块设备打开的文件句柄的任何访问,除非使用O_DIRECT
打开文件句柄。这包括代表FUSE文件系统的访问。请注意,如果FUSE也进行缓存(我不知道随意),这可能会导致数据的双缓存;与普通的内核文件系统不同,使用FUSE内核无法安全地重叠页面和缓冲区缓存。在这种情况下,可能值得考虑在FUSE文件系统守护程序中使用O_DIRECT
来降低缓存压力(但请务必先进行配置!)。
对于内核文件系统(如UDF),缓冲区缓存将用于所有IO。对于包含文件数据的块,该块将同时位于缓冲区和页面缓存中(使用相同的底层内存)。这将在内存使用情况统计中被视为页面缓存而非缓冲区缓存。