前言
旮旯(ga三声、la二声)敲着代码咬着手指的左羊,所以就如同大多数剧情发展一样这个任务有幸被我承接了。
Jstack[3]、
Arthasv[4]等工具进行排查,但成片的代码与文字不如图表对人类视觉理解来的直接,所以左羊通过度娘、Google等工具了解到了jvisualvm可视化的JVM监视和分析工具,最终通过DEBUG结合jvisualvm的综合定位并解决了问题。
@EnableJpaAuditing(auditorAwareRef = "auditorAware")和
@JoinTable结合使用时,向Log文件写入日志时发生死循环导致内存溢出造成的,我们通过处理循环关系解决掉了,具体细节就不概述了,下面我们了解下
jvisualvm吧。

jvisualvm简介
jvisualvm具有以下主要功能
内存快照:生成JVM内存快照,跟踪内存泄漏和原因分析; 线程分析:定位线程问题,包括死锁、CPU占用过高等; 监控应用:监控应用服务器的状态,包括CPU占用率、线程数、GC相关信息等; 插件扩展:提供了多种插件来扩展其功能,例如Visual GC插件、Sampler插件等。
jvisualvm所在路径
我的jvisualvm所在路径
C:\Java\jdk1.8.0_151\bin

jvisualvm的使用
启动

进入面板双击你需要观察的JAVA进程

概述页
JVM参数等信息。

监控页
CPU使用情况、
堆信息、
类信息、
线程的线程变化图,我常用就是这个页面。

详细线程观察页

抽样页

参考文献
1. jvisualvm官方网站 . https://visualvm.github.io/
2. Java VisualVM . https://www.ibm.com/developerworks/cn/java/j-lo-visualvm/index.html
3. 左羊 . jstack之记一次生产环境排查记录 . https://mp.weixin.qq.com/s?__biz=MzU0MTgwODAwNQ==&mid=2247484021&idx=1&sn=5c155432c42d513e95a918cb84ff327e
4. 左羊 . Java线上诊断工具-Arthas快用指南 . https://mp.weixin.qq.com/s?__biz=MzU0MTgwODAwNQ==&mid=2247484252&idx=1&sn=9d8046fbf39983446813497a138f0220
文章转载自左羊公社,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




