1、/proc/sys/vm/drop_caches
清空pagecache
sync
echo 1 > /proc/sys/vm/drop_caches
或
sync
sysctl -w vm.drop_caches=1
清空dentries和inodes:
sync
echo 2 > /proc/sys/vm/drop_caches
或者:
sync
sysctl -w vm.drop_cahces=2
清空所有缓存(pagecache,dentries和inodes)
sync
echo 3 > /proc/sys/vm/drop_caches
或者
sync
sysctl -w vm.drop_caches=3
2、/proc/sys/vm/dirty_ratio
而这个参数则指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如10%),系统不得不开始处理缓存脏页(因为此时脏页数量已经比较多,为了避免数据丢失需要将一定脏页刷入外存);在此过程中很多应用进程可能会因为系统转而处理文件IO而阻塞。
3、/proc/sys/vm/dirty_background_ratio
这个参数指定了当文件系统缓存脏页数量达到系统内存百分之多少时(如5%)就会触发pdflush/flush/kdmflush等后台回写进程运行,将一定缓存的脏页异步地刷入外存;
注:2、3区别:系统会先到达dirty_background_ratio,这个时候数据开始往下刷,但是不会阻塞别的进程,任然可以向缓存中写数据。但是如果到达dirty_ratio,此时操作系统会同步进行处理脏页的过程,阻塞应用进程。
4、/proc/sys/vm/dirty_writeback_centisecs
这个参数控制内核的脏数据刷新进程pdflush的运行间隔。单位是 1/100 秒。缺省数值是500,也就是 5 秒。如果你的系统是持续地写入动作,那么实际上还是降低这个数值比较好,这样可以把尖峰的写操作削平成多次写操作。设置方法如下: