释放Ubuntu/Linux系统cache,增加可用内存空间

版主: jvip_chen

回复
头像
jvip_chen
社区版主
社区版主
帖子: 177
注册时间: 2019年 1月 5日 13:36 星期六

释放Ubuntu/Linux系统cache,增加可用内存空间

帖子 jvip_chen »

查看内存使用命令

代码: 全选

free -m
watch -n 1 cat /proc/meminfo 
释放内存命令

释放kernel用在cache上面的内存

代码: 全选

sudo sysctl -w vm.drop_caches=3
释放无论是使用中的内存还是cache(page cache, inodes, and dentries),但可能会影响系统的稳定!

代码: 全选

sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
定时清理内存
I. 建一个脚本freecache.sh

查看一下内存使用情况,找到内存所在行。判断可用内存大小,如果小于300M,就释放内存。drop_caches文件中就一个0,这里为什么要写入一个3呢?官方解释如下:

To free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 >/proc/sys/vm/drop_caches.

freecache.sh

代码: 全选

Icon

free -m |grep -i mem |awk '{if($4 < 300){ printf("3") > "/proc/sys/vm/drop_caches"}}'; 
II.加到catontab中去

代码: 全选

sudo su

crontab -e
*/05 * * * * /home/zhangying/free.sh //每5分钟执行一次

回复