当前位置:朝夕网 » 数码科技 » 线上问题解决内存溢出

线上问题解决内存溢出

最近服务器出现突然宕机,但应用已经无法响应,用户报障无法登陆,系统响应缓慢。收到消息,马上登陆服务器查看,tomcat 线程还在,查看APM:发现接口响应很慢,先解决用户问题,重启应用后正常;系统已经

最近服务器出现突然宕机,但应用已经无法响应,用户报障无法登陆,系统响应缓慢。收到消息,马上登陆服务器查看,tomcat 线程还在,查看APM:

发现接口响应很慢,先解决用户问题,重启应用后正常;系统已经上线多年,最近2周都没有发布,查看日志也没有发现问题所在,一时不知道如何;

第二天群里相同的消息,服务器又宕机了,上服务器看和APM看,发现情况还是一样;

安装arthas,查看jvm参数,发现系统没有专门配jvm的参数,马上补上:

-Xmx8g -Xms8g -Xmn3g -Xss512k -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:InitialBootClassLoaderMetaspaceSize=256m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -Dspring.profiles.active=production -XX:+HeapDumpOnOutOfMemoryError -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseParNewGC -XX:HeapDumpPath=/tmp/dumpfile -Djava.security.egd=file:/dev/./urandom

继续观察。。。。

下午又挂了,登录服务器查看内存快照:

好久没看过了,马上下载MAT:

选择最新的版本,记得切换回中国:

最新版有要求需要安装JAVA 11,又去下载一个java11,准备工作完成开工:

选择查询线程栈:

发现内存溢出问题,马上查看堆栈错误信息:

找到错误代码定位到位置,解决问题,轻轻松松又一天,下班

以上就是朝夕生活(www.30zx.com)关于“线上问题解决内存溢出”的详细内容,希望对大家有所帮助!

免责声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。朝夕网 » 线上问题解决内存溢出