Java 性能调优对于每一个Java程序员来说,是实现技术进阶必不可缺的知识了。比如:一台8G的服务器怎么配置JVM参数?我的JVM参数是否合理?如何分析内存Dump文件?如何分析线程Dump文件?等等...,你肯定或多或少都遇到过,熟知Java虚拟机的工作原理可以大幅提升日常编程的效率,对寻常Bug的修复更是轻而易举。
为此,PerfMa社区推出了一系列的产品,将原本枯燥繁杂的配置项、线程状态等信息通过清晰美观的可视化界面展现,且对重要指标进行了分析和详解,来帮助 Java 工程师们可以更便捷的进行应用性能调优。
自动获取本地进程分析优化-XPocket Java 应用综合体检
一款针对 Java 应用程序的命令行工具包。通过简单的交互,可以对 Java 程序进行综合体检,集成了 JVM 参数优化、线程 Dump 分析等功能。
激活成功(或以游客模式登入)后,自动列出当前运行的Java进程。选择一个进程,输入对应的序号,回车。
输入thread,回车。
将执行一次线程Dump并分析。
可以查看当前进程的线程状态统计、线程池概况、锁概况。
输入args,回车。
可以查看进程的JVM参数,并根据当前实际环境信息(内存、CPU、操作系统、JDK版本)生成一份针对性的优化建议。
Java进程高效全面体检——JVM调优全家桶
JVM参数分析-XXFox
PerfMa公司推出的第一款产品,为用户学习和使用JVM参数提供便利。即使不太懂JVM参数的初级用户,也可以借助本产品得到相对合理的参数列表。
该产品提供了若干个服务:参数查询、参数检查、参数变迁、参数优化、参数生成等。
参数查询如下图所示,即可以单个查询JVM参数,也可以批量查询JVM参数:
参数检查用法类似,输入你需要检查的JVM参数,然后perfma就会给出建议,如下图所示:
参数生成的用法也很简单,只需要填入环境配置、基础配置等,perfma就能一键生成比较合理的JVM参数。如下图所示:
Java线程Dump分析-XSheepdog
一款在线分析线程Dump文件的产品,将线程、线程池、栈、方法及锁的关系梳理清楚,通过多种视角呈献给用户,让线程问题一目了然。上传线程Dump文件后,我们就会得到线程分析结果,分析概况主要统计了各个线程状态的线程数量、比例和后台守护线程的数量、比例等。如下图所示:
Java内存Dump分析-XElephant
一款在线分析Java内存Dump文件的产品。可以让内存里对象之间的各种依赖关系更加清晰明了,无需安装软件,提供上传方式,不受本地机器内存限制,支持超大Dump文件分析。当JVM发生OOM Crash,或者JVM频繁FGC时我们都需要分析内存Dump文件。当然通常我们都会使用MAT来分析Dump文件。不过PerfMa对Dump分析结果做了更好的图形化展示。如下图所示,就是一个Dump文件的分析结果:
深入理解Java虚拟机-KO JVM 系列课程
除了各式各样的 Java 分析工具 PerfMa 社区里有一个课程模块(https://club.perfma.com/course),会分享一些视频给大家,视频的素材来源我们看到社区里有一个不错的问题,或者一些比较有意思的面试题,甚至突然想到某个有意思的问题。随意点,大家能学到东西就好。目前特地给大家准备了 JVM 参数的系列视频,希望大家能真正攻克掉 JVM 参数,所以取名 KO 系列,已经完整更新完第一期内容 Memory 篇。
Java 性能调优和学一门编程语言不同,前者无法通过直线式的思维来掌握和应用。扎实的计算机基础,透过源码看本质的习惯,善于追问和总结才是做好性能调优的大前提。希望大家综合应用与学习上文的的各个产品,都能熟练掌握性能调优的方法。