Linux · 2015年3月19日 1

linux清除缓存命令

QQ截图20150319100321

 

 

清楚缓存之前。

# cat /proc/sys/vm/drop_caches

# sync

# echo 3 > /proc/sys/vm/drop_caches

# cat /proc/sys/vm/drop_caches
3

清楚缓存之后

后

 

 

 

用途说明

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

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

参考:http://codingstandards.iteye.com/blog/995809