<返回更多

Linux IO缓存落盘

2022-01-26    larkguo
加入收藏
Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 


Linux IO缓存落盘

 

安全的编程方式:fopen() -> fflush() -> fsync() -> fclose()

确保数据落盘的几种方法:

1.open(O_DIRECT):write/read时,文件系统的IO会绕过cache直接操作磁盘IO;

2.open(O_SYNC):确保每一笔IO都是同步落盘的,相当于是每次write后自动调用fsync;

3.open(O_DSYNC):相当于是每次write后自动调用fdatasync;

4.fsync: write后调用fsync刷新文件数据+元数据缓冲区;

5.fdatasync: write后调用fdatasync刷新文件数据;

6.sync: 标准IO后调用sync强制刷新内核缓冲区到磁盘,linux是文件真正落盘后才会返回;

7.msync: 通过mmap函数把文件映射到进程的地址空间,读写进程内存的地址的数据其实是转发到磁盘上去读写,write后调用msync强制刷盘。

Ensuring data reaches disk https://lwn.NET/Articles/457667/

深入理解 Linux的I/O 系统
https://view.inews.qq.com/a/20211216A01H5600

怎么才能保证 IO 数据的安全
https://blog.csdn.net/FL63Zv9Zou86950w/article/details/116505686

缓存技术及算法策略简介
http://www.xupifu.com/2017/01/19/cache-introduction/

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>