文库

linux释放内存

linux释放内存

十月 28, 2017 阅读 2324 字数 372 喜欢 1

问题

服务器used内存占用很大,而实际系统中个进程并没有占用这么多内存

现象

top查看下,used很大,如果有其他外部程序向监控服务器的内存,used实际是个比较关键的指标,而该指标却并没有反应出服务器实际占用情况: 

原因

实际这是缓存原因导致,可以通过命令释放,即上图的cached部

解决

执行以下命令:

echo 0 >/proc/sys/vm/drop_caches

free -m #看内存是否已经释放掉了。

如果我们需要释放所有缓存,就输入下面的命令:

echo 3 > /proc/sys/vm/drop_caches

0-3的参数含义:

0:不释放(系统默认值)

1:释放页缓存

2:释放dentries和inodes

3:释放所有缓存

注意

重启后会恢复原样,可以通过脚本定期执行echo 3 > /proc/sys/vm/drop_caches,释放缓存





粤ICP备18103437号