前两天我们公布了A+轮融资的消息, 技术创业,没想到我们快熬过了三年这个坎 ,感谢大家的关注,近期我们为大家发布了一款免费的命令行性能分析工具---XPocket,目前主要针对Java应用的性能分析,未来当然我们不会仅仅局限于Java应用,现在能力还比较有限,大家先用着,我们会持续完善功能,给大家调优不断带来便利。
下面整理了一下PerfMa为大家提供的几款免费的性能调优工具,希望大家能用起来,也欢迎大家提建议,有任何性能,JVM相关的问题都可以到我们PerfMa社区(https://club.perfma.com)来提,有非常多的专家热心底为大家服务,社区里也积攒了非常多的性能案例,经典JVM问答,还有一些学习的课程。
(PS:貌似微信小程序有BUG,点击去后要刷新下页面才能显示)
XPocket--Java应用性能综合体检
一款主要针对 Java 应用程序的命令行工具包。下载地址(https://www.perfma.com/docs/exam/exam-profile)通过简单的交互,可以对 Java 程序进行综合体检,集成了 JVM 参数优化、线程 Dump 分析等功能,可以通过点击阅读原文进入。
激活成功(或以游客模式登入)后,自动列出当前运行的Java进程。选择一个进程,输入对应的序号,回车。
输入 thread
,回车。
将执行一次线程Dump并分析。
可以查看当前进程的线程状态统计、线程池概况、锁概况。
输入 args
,回车。
可以查看进程的JVM参数,并根据当前实际环境信息(内存、CPU、操作系统、JDK版本)生成一份针对性的优化建议。
JVM参数分析- XXFox(https://opts.console.perfma.com/)
PerfMa公司推出的第一款产品,为用户学习和使用JVM参数提供便利。即使不太懂JVM参数的初级用户,也可以借助本产品得到 相对合理 的参数列表。
该产品提供了若干个服务:参数查询、参数检查、参数变迁、参数优化、参数生成等。
参数查询如下图所示,即可以单个查询JVM参数,也可以批量查询JVM参数:
参数查询
参数检查用法类似,输入你需要检查的JVM参数,然后perfma就会给出建议,如下图所示:
参数检查
参数生成的用法也很简单,只需要填入环境配置、基础配置等,perfma就能一键生成比较合理的JVM参数。如下图所示:
参数生成
Java线程Dump分析- XSheepdog(https://thread.console.perfma.com/)
一款在线分析线程Dump文件的产品,将线程、线程池、栈、方法及锁的关系梳理清楚,通过多种视角呈献给用户,让线程问题一目了然。
上传线程Dump文件后,我们就会得到线程分析结果, 分析概况主要统计了各个线程状态的线程数量、比例和后台守护线程的数量、比例等。 如下图所示:
线程Dump分析
Java内存Dump分析- XElephant(https://memory.console.perfma.com/)
一款在线分析Java内存Dump文件的产品。可以让内存里对象之间的各种依赖关系更加清晰明了,无需安装软件,提供上传方式,不受本地机器内存限制,支持超大Dump文件分析。
当JVM发生OOM,或者JVM频繁FGC时我们都需要分析内存Dump文件。当然通常我们都会使用MAT来分析Dump文件。不过PerfMa对Dump分析结果做了更好的图形化展示。如下图所示,就是一个Dump文件的分析结果:
内存Dump分析
深入理解Java虚拟机-KO JVM 系列课程
除了各式各样的 Java 分析工具,PerfMa 社区里有一个课程模块(https://club.perfma.com/course),会分享一些视频给大家,视频的素材来源我们看到社区里有一个不错的问题,或者一些比较有意思的面试题,甚至突然想到某个有意思的问题。随意点,大家能学到东西就好。
目前特地给大家准备了 JVM 参数的系列视频,希望大家能真正攻克掉 JVM 参数,所以取名 KO 系列,已经完整更新完第一期内容 Memory 篇。
Java 性能调优和学一门编程语言不同,前者无法通过直线式的思维来掌握和应用。扎实的计算机基础,透过源码看本质的习惯,善于追问和总结才是做好性能调优的大前提。希望大家综合应用与学习上文的的各个产品,都能熟练掌握性能调优的方法。