我想知道Linux内核中的缓冲区caching是否适用于像UDF for DVD和FUSE这样的文件系统?
我试图search这个,但不幸的是发现很less的信息。
谢谢。
除非使用O_DIRECT
打开文件句柄,否则缓冲区缓存将用于访问针对块设备打开的文件句柄。 这包括代表FUSE文件系统的访问。 请注意,如果FUSE也进行缓存(我不知道如何),这可能会导致数据的双缓存; 与正常的内核内核文件系统不同,使用FUSE内核不能安全地重叠页面和缓冲区缓存。 在这种情况下,可能值得考虑在FUSE文件系统守护进程中使用O_DIRECT
来减少缓存压力(但要确保首先配置文件!)。
对于内核文件系统(如UDF),缓冲区高速缓存将用于所有IO。 对于包含文件数据的块,块将同时位于缓冲区和页面缓存中(使用相同的底层内存)。 在内存使用情况统计中,这将被视为页面缓存,而不是缓冲区缓存。