linux命令之sync

参考:http://www.xitongzhijia.net/xtjc/20150226/39109.html

http://man.linuxde.net/sync


先了解下概念:

sync命令用于强制将改变的内容立刻写入磁盘。

cp了一个文件之后,拔掉电源之前,为了确保文件已经写入磁盘,使用sync命令,强制将缓存区数据写入磁盘。

flush函数-》刷新清空缓冲区

在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。只有在update或bdflush无法执行或用户需要非正常关机时,才需手动执行sync命令。

先了解一下buffer与cache:

  buffer,为了解决写磁盘的效率;

  cache,为了解决读磁盘的效率。

  Linux系统为了提高读写磁盘的效率,会先将数据放在一块buffer中。

  在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块buffer中了。

  此时如果重启系统,就可能造成数据丢失。

  sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来。

  flush就是用来清空buffer。

  sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,

  所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。

  如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会有两种写磁盘的时机:

  1. kflush内核线程周期性的去写磁盘;

  2. buffer已满不得不写。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值