问题:近日发现linux中tomcat运行时经常出现down掉的情况
原因:执行free -m 命令查看可用内存,发现cached占比过高,free可用内存过少。
临时解决方案:
Linux手动释放缓存的方法
Linux释放内存的命令:
sync
echo 1 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存
释放完内存后改回去让系统重新自动分配内存。
echo 0 >/proc/sys/vm/drop_caches
free -m #看内存是否已经释放掉了。
如果我们需要释放所有缓存,就输入下面的命令:
echo 3 > /proc/sys/vm/drop_caches
继续继续跟踪:监听JVM使用情况,找出原因,进行优化