1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

线上系统内存溢出分析方法

线上系统内存溢出分析方法

我是本际云服务器推荐网的小编小本本,今天为大家介绍一下线上系统内存溢出分析的方法。

线上系统内存溢出分析方法

事件起因

系统前台应用节点告警“URL连接超时”,使用jstat命令—JVM统计监测工具对堆内存进行分析,发现JVM堆内存的年轻代和老年代使用率达到100%。

分析方法

首先,生成HeapDump文件,HeapDump是Java进程所使用的内存情况在某一时间的一次快照,以文件的形式持久化到磁盘中。获取方式有三种,可以使用jmap命令生成dump文件、使用jcmd命令生成dump文件,也可以使用JVM参数获取dump文件。本次dump文件为jmap命令手动生成。

其次,上传至内网分析服务器,使用MAT检查内存泄漏。打开MemoryAnalyzer软件,选择对应的进程,等待MAT加载完成,即可进入MAT分析页面的首页。使用MAT的DominatorTree视图,定位到内存溢出源,通过DominatorTree视图可以很容易地找出占用内存最多的几个对象(根据RetainedHeap或Percentage排序)。通过分析可疑线程,找到导致内存溢出的原因。

以上就是本次线上系统内存溢出分析方法的详细步骤,希望能对大家有所帮助。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6015.html