查看内存使用:free -hm
/proc/sys/vm/drop_caches的值,默认为0
Linux释放内存
释放网页缓存(To free pagecache):
sync; echo 1 > /proc/sys/vm/drop_caches
释放目录项和索引(To free dentries and inodes):
sync; echo 2 > /proc/sys/vm/drop_caches
释放网页缓存,目录项和索引(To free pagecache, dentries and inodes):
sync; echo 3 > /proc/sys/vm/drop_caches
经过对比,清理了部分缓存,free,available值有变化。
sync 命令
sync命令用于强制被改变的内容立刻写入磁盘,更新超块信息。
在Linux/Unix系统中,在文件或数据处理过程中一般先放到内存缓冲区中,等到适当的时候再写入磁盘,以提高系统的运行效率。
sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。用户通常不需执行sync命令,系统会自动执行update或bdflush操作,将缓冲区的数据写 入磁盘。
更加放便实用可以写成小脚本,加入计划任务,释放缓存。
#!/bin/bash
Free=`free -m|awk ‘NR==2 {print $4}‘`
if [ $Free -lt 2500 ];then
sync
echo 3 > /proc/sys/vm/drop_caches
fi
加入定时任务
* * * * * /bin/sh /.script/clean-mem.sh >/dev/null 2>&1
原文:https://www.cnblogs.com/liuyakai/p/14889062.html