码迷,mamicode.com
首页 > 系统相关 > 详细

如何清除linux的内存缓存,缓冲和交换空间

时间:2015-09-16 23:37:20      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:linux 清除缓存

说明

    和其他操作系统一样,linux已经实现了很有效的内存管理机制,但是任何一个进程损坏了系统的内存,那么你就必须清理它,linux提供了一个比较好的方式刷新\清除RAM缓存。

注意:并不是什么时候都需要清除RAM缓存的,大家都知道,linux查找数据都是优先从RAM缓存中查找的,一旦清空缓存,所有的数据都需要从磁盘读取,所以只在需要的时候清空缓存,才是正确的选择。


如何清除linux缓存?

    1.只清除PageCache:

# sync; echo 1 > /proc/sys/vm/drop_caches

    

    2.清除dentries and inodes

# sync; echo 2 > /proc/sys/vm/drop_caches

    

    3.同时清除PageCache和dentries and inodes

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

对上面的命令的解释:    

    sync将会刷新系统的buffer   

    根据官方内核文档描述,对drop_caches写入值将会在不杀死任何应用服务的情况下清空缓存。

    在生产环境中建议使用echo 1,因为它会优先清空磁盘缓存。


效果展示:

技术分享


使用shell脚本自动在晚上2点清除RAM缓存

vim  clearcache.sh 
#!/bin/bash
echo "echo 1 > /proc/sys/vm/drop_caches"
# chmod 755 clearcache.sh
# crontab -e
    0  3  *  *  *  /path/to/clearcache.sh


如何清除交换空间?

简单的清除可以使用如下的命令

# swapoff -a && swapon -a

结合上面的脚本

vim  clearcache.sh 
#!/bin/bash
echo "echo 1 > /proc/sys/vm/drop_caches" && swapoff -a && swapon -a && 
printf ‘\n%s\n‘ ‘Ram-cache and Swap Cleared‘


本文出自 “Linux is belong to you” 博客,请务必保留此出处http://jwh5566.blog.51cto.com/7394620/1695504

如何清除linux的内存缓存,缓冲和交换空间

标签:linux 清除缓存

原文地址:http://jwh5566.blog.51cto.com/7394620/1695504

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!