-
分析思路:
-
如何快速恢复业务
-
分析解决问题
-
收集内存溢出Dump文件
-
分析Dump文件
-
如果我们所在公司的业务量比较大,在生产环境经常会出现JVM内存溢出的现象,那我们该如何快速响应,快速定位,快速恢复问题呢?
本文将通过一个线上环境JVM内存溢出的案例向大家介绍一下处理思路与分析方法。
案例:架构组接到某项目组反馈,Zabbix监控上显示JMX不可用,请求协助处理。
分析思路:
-
JMX不可用,往往是由于垃圾回收时间停顿时间过长、内存溢出等问题引起的。
-
线上故障分析的原则是首先要采取措施快速恢复故障对业务的影响,然后才是采集信息、分析定位问题,并最终给出解决办法。
具体分析过程如下。
1
快速恢复业务
通常线上的故障会对业务造成重大影响,影响用户体验,故如果线上服务器出现故障,应规避对业务造成影响,但不能简单的重启服务器,因为需要尽可能保留现场,为后续的问题分析打下基础。
那我们如何快速规避对业务的影响,并能保留现场呢?
通常的做法是隔离故障服务器。
通常线上服务器是集群部署,一个好的分布式负载方案会自动剔除故障的机器,从而实现高可用架构,但如果未被剔除,则需要运维人员将故障服务器进行剔除,保留现场进行分析。