使用方式 : sync

使用说明 : Linux 系统中欲写入硬盘的资料有的时候会了效率起见,


     会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,


     如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,


     那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中


--


sync命令 linux同步数据命令


格式: sync 


用途:更新 i-node 表,并将缓冲文件写到硬盘中。


功能:sync命令是在关闭Linux系统时使用的。用户需要注意的是,不能用简单的关闭电源的方法关闭系统,因为Linux象其他Unix系统一样,在内存中缓存了许多数据,在关闭系统时需要进行内存数据与硬盘数据的同步校验,保证硬盘数据在关闭系统时是最新的,只有这样才能确保数据不会丢失。一般正常的关闭系统的过程是自动进行这些工作的,在系统运行过程中也会定时做这些工作,不需要用户干预。 sync命令是强制把内存中的数据写回硬盘,以免数据的丢失。用户可以在需要的时候使用此命令。


sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件。


--


清除Linux缓存


# sync && echo 3 >/proc/sys/vm/drop_caches && sleep 2 && echo 0 >/proc/sys/vm/drop_caches


 


Writing to this will cause the kernel to drop clean caches, dentries and

inodes from memory, causing that memory to become free.(这样写将会使内核从内存中删除干净缓存、dentries和inodes,让内存有更多的可使用空间)


To free pagecache:

echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:

echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:

echo 3 > /proc/sys/vm/drop_caches


As this is a non-destructive operation and dirty objects are not freeable, the

user should run `sync' first.

(dirty的inodes和dentries是没法释放的,所以如果想释放更多的内存,需要先sync一下。)


[root@server test]# cat /proc/sys/vm/drop_caches

0

/proc/sys/vm/drop_caches的值,默认为0(所以我们清空后,还再恢复它的值为0)

简单说,清除系统对内存的cache,使用root做下面几步:


sync; echo 3 > /proc/sys/vm/drop_caches

sync; echo 0 > /proc/sys/vm/drop_caches

写成一句就是:


# sync && echo 3 >/proc/sys/vm/drop_caches && sleep 2 && echo 0 >/proc/sys/vm/drop_