生产环境jvm内存溢出问题处理OutOfMemoryError

生产环境jvm内存溢出问题处理OutOfMemoryError

问题描述

服务正常部署运行后,前端界面偶尔出现请求无响应情况,页面出现持续性卡顿。服务器日志报下面这个异常:

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main-SendThread(192.168.200.102:2181)"

排查问题

在这里插入图片描述

查看log日志,联系运维查看服务器内存、cpu使用情况,很明显,这个服务是两个节点部署的,图中上面一个结点的内存使用率过高。执行操作时,一旦节点切换到它,操作就会出现jvm内存溢出。

发现问题

在这里插入图片描述

运维查看故障节点服务器的jvm参数时,发现jvm参数根本没有配置,使用的是java默认的内存大小,所以基本问题确认,需要调整当前故障节点的jvm内存大小分配。

解决问题

"java","-Dfile.encoding=UTF-8","-Xmx4096m","-Xms4096m","-XX:PermSize=256m","-XX:MaxPermSize=512m"

经调整为4Gjvm内存大小,服务操作正常运行,没有再出现卡顿,没有响应的情况。

参考:http://outofmemory.cn/c/java-outOfMemoryError

学习Java的同学注意了!!!
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:543120397 我们一起学Java!

猜你喜欢

转载自blog.csdn.net/u014344668/article/details/84942020