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

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

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

topå½ä»¤æ¥ççææ
原因
实际这是缓存原因导致,可以通过命令释放,即上图的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,释放缓存

发布了69 篇原创文章 · 获赞 78 · 访问量 55万+

猜你喜欢

转载自blog.csdn.net/zalan01408980/article/details/104747770