性能文章>使用 FastThread 以及 GCEasy 分别针对线程dump文件以及GC日志文件进行离线分析>

使用 FastThread 以及 GCEasy 分别针对线程dump文件以及GC日志文件进行离线分析原创

9月前
206903

概述

FastThread 以及 GCEasy分别针对线程dump文件以及GC日志文件的离线分析工作,可快速直观的定位到相关的性能问题。

前置准备

针对目标进程分别生成线程dump文件以及GC日志文件

使用jstack -l pid > {dumpFileName}来生成线程dump文件
添加启动参数 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:./gclogs来生成gc日志文件

FastThread实践

1.借助XPocket来使用FastThread

image.png

2. 使用 “analyze <ThreadDumpFileAbsolutePath>” 来分析线程dump文件

image 1.png

3. 进入分析报告详情页,内容如下所示

image 2.png

可以很明显的看到有线程创建过多的问题
image 3.png

复杂的死锁信息
image 4.png

高cpu使用的线程
image 5.png

更多的线程问题用户可以自行尝试并查看

GCEasy实践

1.借助XPocket来使用GCEasy

image 6.png

2. 使用 “analyze <GcFileAbsolutePath>” 来分析gc日志文件

3. 进入分析报告详情页,内容如下所示

可以看到频繁gc的问题
image 7.png

更多的线程问题用户可以自行尝试并查看

请先登录,再评论

暂无回复,快来写下第一个回复吧~

为你推荐

关于内存溢出,咱再聊点有意思的?
概述 上篇文章讲了JVM在GC上的一个设计缺陷,揪出一个导致GC慢慢变长的JVM设计缺陷,可能有不少人还是没怎么看明白的,今天准备讲的大家应该都很容易看明白 本文其实很犹豫写不写,因为感觉没有
又发现一个导致JVM物理内存消耗大的Bug(已提交Patch)
概述 最近我们公司在帮一个客户查一个JVM的问题(JDK1.8.0_191-b12),发现一个系统老是被OS Kill掉,是内存泄露导致的。在查的过程中,阴差阳错地发现了JVM另外的一个Bug。这个B
LONG究竟有多长,从皇帝的新衣到海康SDK
转眼之间初中毕业30年了,但我仍清楚的记得初中英语的一篇课文,题目叫《皇帝的新装》(“The king’s new clothes”)。这篇课文的前两句话是:”Long long ago, there
谨防JDK8重复类定义造成的内存泄漏
概述 如今JDK8成了主流,大家都紧锣密鼓地进行着升级,享受着JDK8带来的各种便利,然而有时候升级并没有那么顺利?比如说今天要说的这个问题。我们都知道JDK8在内存模型上最大的改变是,放弃了Perm
如何 60 秒内进行 Linux 性能分析
当你登陆一台 Linux 服务器之后,因为一个问题要做性能分析时:你会在第 1 分钟内做哪些检测呢?在 Netflix,我们有很多 EC2 的 Linux 机器,并且也需要很多性能分析工具来监控和检查
使用 FastThread 以及 GCEasy 分别针对线程dump文件以及GC日志文件进行离线分析
概述FastThread 以及 GCEasy分别针对线程dump文件以及GC日志文件的离线分析工作,可快速直观的定位到相关的性能问题。 前置准备 针对目标进程分别生成线程dump文件以及GC日志文件使
学会这个Thread Dump分析工具,让您秒变性能分析大师!
每次分析thread dump,我都会用肉眼扫描这dump中的线程状态,并企图发现可能存在的死锁,十几万行太难了!有时候记不太清楚各种等待、阻塞的原因,我都偷偷打开一篇博客边看边分析,很明显我还没把原
如何看待常见前端性能工具
如何看待性能工具关于性能的常见误解误解1用户体验可以通过单一指标来捕捉。