服务器内存被java后台程序消耗完

我把两个java基础后台服务部署到服务器上之后,每天早上都会有一个服务宕掉,
发现是内存被被消耗光了。图片的显示是重启了之后的,还剩下可用的 9个G的你内存,接近服务宕的那会,可用内存是只剩下300多MB
https://img2.mukewang.com/5cdd28e50001985d15960358.jpg

我就每天都要自己去看一遍,然后再重启服务。

有什么办法可以比较好内存消耗排查问题呢?


慕神8447489
浏览 445回答 4
4回答

胡子哥哥

这个是你代码中有内存泄漏了,你想一下在代码中,哪个地方使用了缓存,但是却只有不停的往里面加对象,却没有删除策略。比如某个全局的Map或list之类的。

SMILET

java自带的jvisualvm可以查看,还有很多工具可以百度一下,都长得差不多,像你这种情况肯定是代码哪块写的有问题,导致内存中东西太多,比如一直给容器中添加数据却没有清除策略,再比如用递归不慎写成了死循环/或者其他方式写的死循环等等。。。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java