Linux 如何将操作系统文件缓存的脏页刷新到磁盘?

Linux 如何将操作系统文件缓存的脏页刷新到磁盘?,linux,file,caching,Linux,File,Caching,Linux利用剩余内存进行文件缓存 在我的应用程序(用C++编写)中,我希望不时明确地将脏页刷新到磁盘 (使用O_DIRECT不适合我) 我尝试了fflush(),但它似乎不是我想要的 有没有办法将操作系统文件缓存的脏页刷新到磁盘上 感谢您可以使用它来鼓励Linux上的刷新,但令人困惑的是您不能使用sync_file_range()来保证文件的持久性/数据完整性-这只是一个提示,可能有助于启动刷新(请参阅2019年Linux管道工会议视频)。简言之:它可以帮助触发冲洗,但你需要添加/使用其他东西

Linux利用剩余内存进行文件缓存

在我的应用程序(用C++编写)中,我希望不时明确地将脏页刷新到磁盘 (使用O_DIRECT不适合我)

我尝试了fflush(),但它似乎不是我想要的

有没有办法将操作系统文件缓存的脏页刷新到磁盘上

感谢您可以使用它来鼓励Linux上的刷新,但令人困惑的是您不能使用
sync_file_range()
来保证文件的持久性/数据完整性
-这只是一个提示,可能有助于启动刷新(请参阅2019年Linux管道工会议视频)。简言之:它可以帮助触发冲洗,但你需要添加/使用其他东西来了解耐久性

我相信所有常见的文件描述符
sync
style调用(等等)也暗示您希望开始执行写回,但与
sync\u file\u range()
相比,写回的方式更为繁重(因为它们还强制刷新设备非易失性缓存)