神奇的 perfma:一站式解决所有 JVM 疑难杂症!

文章来源:https://mp.weixin.qq.com/s/koeaBWVHqaDlWH6h6McXoA


每一个Java程序员应该都碰到过或多或少的JVM问题,比如:一台8G的服务器怎么配置JVM参数?我的JVM参数是否合理?如何分析内存Dump文件?如何分析线程Dump文件,想看一些高质量的JVM相关的文章等等。

如果你从来没有碰到过这些问题,那你真的不能算是一个合格的Java程序员!

神奇的 perfma:一站式解决所有 JVM 疑难杂症!

JVM参数分析

这是PerfMa公司推出的第一款产品,为用户学习和使用JVM参数提供便利。即使不太懂JVM参数的初级用户,也可以借助本产品得到相对合理的参数列表。从第一版推出至今,已经免费服务了数万用户。

JVM参数分析的链接地址:https://opts.console.perfma.com/

这块服务提供了若干个服务:参数查询、参数检查、参数变迁、参数优化、参数生成等。

参数查询如下图所示,即可以单个查询JVM参数(-XX:+UseCMSInitiatingOccupancyOnly),也可以批量查询JVM参数(例如-Xms1280m -Xmx1280m -Xmn480m -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=256m -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=68 -verbose:gc -XX:+PrintGCDetails):

神奇的 perfma:一站式解决所有 JVM 疑难杂症!

参数查询

参数检查用法类似,输入你需要检查的JVM参数,然后perfma就会给出建议,如下图所示:

神奇的 perfma:一站式解决所有 JVM 疑难杂症!

参数检查

参数生成的用法也很简单,只需要填入环境配置、基础配置等,perfma就能一键生成比较合理的JVM参数。如下图所示:

神奇的 perfma:一站式解决所有 JVM 疑难杂症!

Java线程Dump分析

定位JVM问题时,我们通常需要分析Java线程Dump(Java线程Dump生成方式为:jstak -l pid > pid.log)。perfma提供了3种形式:本地上传,HTTP下载,FTP下载。我们一般本地上传用的比较多。

上传线程Dump文件后,我们就会得到线程分析结果,如下图所示:

神奇的 perfma:一站式解决所有 JVM 疑难杂症!

线程Dump分析


Java内存Dump分析

当JVM发生OOM Crash,或者JVM频繁FGC时我们都需要分析内存Dump文件。当然通常我们都会使用MAT来分析Dump文件。不过perfma对Dump分析结果做了更好的图形化展示。如下图所示,就是一个Dump文件的分析结果:

神奇的 perfma:一站式解决所有 JVM 疑难杂症!

内存Dump分析

对了,在这里说一下,我目前是在职Java开发,如果你现在正在学习Java,了解Java,渴望成为一名合格的Java开发工程师,在入门学习Java的过程当中缺乏基础入门的视频教程,可以关注并私信我:01。获取。我这里有最新的Java基础全套视频教程。


分享到:


相關文章: