日期:2014-05-16  浏览次数:20571 次

我使用过的Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘

我使用过的Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘

本文链接:http://codingstandards.iteye.com/blog/995809 ? (转载请注明出处)

?

用途说明

Linux内核为了达到最佳的磁盘操作效率,会把需要写入到磁盘的数据现在内存中缓存起来,在合适的时候才真正写入到磁盘中,这在绝大多数情况都是没有任何问题的,而且提高了系统的效率,但是如果系统当机、掉电,就会有些文件内容不会保存下来。在Linux系统关机或者重启时,会自动把缓冲区的内容自动同步到磁盘中。我们也可以手工去执行sync命令,强制将内存中的文件缓冲内容写到磁盘,这个命令是通过调用sync系统调用来实现的。(flush file system buffers。Synchronize data on disk with memory。Force changed blocks to disk, update the super block.`sync' writes any data buffered in memory out to disk.? This can include (but is not limited to) modified superblocks, modified inodes, and delayed reads and writes.? This must be implemented by the kernel; The `sync' program does nothing but exercise the `sync' system call.?? The kernel keeps data in memory to avoid doing (relatively slow) disk reads and writes.? This improves performance, but if the computer crashes, data may be lost or the file system corrupted as a result. The `sync' command ensures everything in memory is written to disk.)但是,我认为一般情况下我们是没有必要去执行这个命令的,因为Linux内核会尽快让内存中的数据自动同步到磁盘上去,而且,谁又会知道什么时候会掉电或当机呢?

?

常用方式

格式:sync

强制将内存中的文件缓冲内容写到磁盘。

?

使用示例

示例一

[root@web ~]# sync
[root@web ~]#

?

示例二

问题思考

1. 在以前使用Unix(SCO Unix, Sun OS)的时候,那些人教我们使用sync命令,所以记住了它,有些文章也说在关闭或重启系统之前要多次执行sync命令,有的说要2此,有的说最好4次。各位看官,你们怎么看待这个问题,欢迎留言赐教。

?

相关资料

【1】肚子网 linux命令sync用法详解
http://www.duzi.cn/article/2010-3-12/223585-1.htm
【2】loongene的博客 Linux sync命令的作用
http://blog.sina.com.cn/s/blog_53689eaf0100o8b4.html
【3】IT INF Linux sync命令详解
http://www.itinf.com/bbs/viewthread.php?tid=66500&extra=page%3D1
【4】CCF技术论坛 【求助】LINUX关机之前,是否一定要sync呢?
https://bbs.et8.net/bbs/archive/index.php/t-374736.html

?

?

返回 我使用过的Linux命令系列总目录

?