linux对我们来说就是一个虚拟文件系统,在linux里一切皆文件;
不同类型的文件只是文件描述符的类型不一致,文件描述符的介绍可参考上一篇文章:https://blog.youkuaiyun.com/jiushiNeil/article/details/107006191
pagecache刷盘策略
1.跟随内核设置
2.每秒一次
3.每操作一次写一次
对应的丢数据就是:
1.丢一个缓冲区
2.丢一秒的数据
3.丢一条数据
那一个缓冲区多大呢?
可以配置是多少字节或者多大比率
根据
vm.dirty_bytes = 0
vm.dirty_ratio = 30
[root@optimize ~]# sysctl -a | grep dirty
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.ens33.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
vm.dirty_background_bytes = 0
vm.dirty_background_ratio = 10
vm.dirty_bytes = 0
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 30
vm.dirty_writeback_centisecs = 500
vm.dirty_expire_centisecs = 3000
vm.dirty_writeback_centisecs = 500
单位可以控制到1%秒
可vi /etc/sysctl.conf进行修改
page cache 是用来优化IO性能的,但是有弊端:会丢数据
getconf PAGE_SIZE查看页大小,一般是4k