Linux sync命令学习
先了解一下buffer与cache:
buffer,为了解决写磁盘的效率;
cache,为了解决读磁盘的效率。
Linux系统为了提高读写磁盘的效率,会先将数据放在一块buffer中。
在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块buffer中了。
此时如果重启系统,就可能造成数据丢失。
sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来。
flush就是用来清空buffer。
sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,
所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。
如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会有两种写磁盘的时机:
1. kflush内核线程周期性的去写磁盘;
2. buffer已满不得不写。
待确认问题:
是有一个kflush的thread去周期性的sync吗?
相关推荐
farwang 2020-11-25
星愿心愿 2020-11-24
tianhuak 2020-11-24
zhjn0 2020-11-24
昭君出塞 2020-11-23
bluecarrot 2020-11-23
linuxwcj 2020-10-21
以梦为马不负韶华 2020-10-20
彼岸随笔 2020-10-20
yutou0 2020-10-17
applecarelte 2020-10-16
ourtimes 2020-10-16
waterhorse 2020-09-19
MRFENGG 2020-11-11
rainandtear 2020-10-30
kyssfanhui 2020-10-20
liuhangtiant 2020-10-20