我正在为 linux 编写一个流服务器,它从 CIFS 挂载中读取文件并通过套接字发送它们。理想情况下,linux 会将文件缓存在内存中,以便后续读取更快。是这样吗?我可以告诉内核缓存网络读取吗?
编辑:这些文件将有多次读取,但没有写入。
谢谢!
更新:我已经在 CIFS 卷上对此进行了测试,使用 fadvise POSIX_FADV_WILLNEED 在本地缓存文件(在命令行上使用 linux-ftools)。事实证明,该卷需要以读写模式安装才能正常工作。在只读模式下,fadvise 似乎被忽略了。这一定与 samba oplock 机制有关。