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


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

    JVM参数分析

    这是PerfMa公司推出的第一款产品,为用户学习和使用JVM参数提供便利。即使不太懂JVM参数的初级用户,也可以借助本产品得到相对合理的参数列表。从第一版推出至今,已经免费服务了数万用户。
    JVM参数分析的链接地址
    这块服务提供了若干个服务:参数查询、参数检查、参数变迁、参数优化、参数生成等。
    参数查询如下图所示,即可以单个查询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):
    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    Java线程Dump分析

    定位JVM问题时,我们通常需要分析Java线程Dump(Java线程Dump生成方式为:jstak -l pid > pid.log)。perfma提供了3种形式:本地上传,HTTP下载,FTP下载。我们一般本地上传用的比较多。
    上传线程Dump文件后,我们就会得到线程分析结果,如下图所示:
    在这里插入图片描述

    Java内存Dump分析

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

    在这里插入图片描述

    JVM文章

    perfma同样提供了很多高质量原创JVM文章,链接地址:https://club.perfma.com/。这些文章中很多都是来自笨神以往定位JVM问题的真实案例,对JVM感兴趣的同学,绝对是一场饕餮盛宴,不容错过:
    在这里插入图片描述
    此外,如果你也有原创性的JVM相关问题,也可以在这里投稿。如果你有JVM相关问题,也可以在这里求助笨神,可能会得到一些帮助:

    在这里插入图片描述

    参考地址

    JVM参数分析更详细使用参考地址:
    https://www.perfma.com/docs/opts/opts-guide
    Java线程Dump分析使用参考地址:
    https://www.perfma.com/docs/thread/thread-guide
    Java内存Dump分析使用参考地址:
    https://www.perfma.com/docs/memory/memory-guide

  • 相关阅读:
    【苹果iMessage家庭推送】软件安装群发推送通过HealthKit API访问NikeFuel
    B站短视频如何去水印?一键解析下载B站视频!
    react.js 手写响应式 reactive
    Linux下发生几个字节内存泄露检测方法
    MIT课程分布式系统学习02——RPC and threads
    runc和docker
    观察者模式 & 发布-订阅模式(设计模式与开发实践 P8)
    服务器硬件基础知识
    7_spring-cloud-config-center
    如何让 Source Insight 识别 AUTOSAR 宏定义 FUNC
  • 原文地址:https://blog.csdn.net/m0_67390788/article/details/126602523