• 【JVM学习】Jconsole 配置jmx 监控JVM


    1. 配置jvm启动参数

    在使用jconsole监控jvm之前,首先需要先打开jmx。启动jvm时,添加以下参数。jmx通过58088端口对外开放。

    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=58088 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
    
    • 1

    2.启动jconsole

    找到jdk安装的目录,在 $INSTALL_PATH/bin 目录下,执行 ./jconsole

    3.配置jmx 连接信息

    填写机器IP地址,及jmx端口。

    点击连接,即可打开jconsole 可视化界面,对java 应用运行情况进行分析。
    在这里插入图片描述

    4.查看分析

    4.1 概览

    在概览页面,可以查看堆内存、线程、类、CPU占用率等信息。

    在这里插入图片描述

    4.2 内存

    内存页面,可以查看JVM各个区域内存使用情况。包括:堆内存PS Old Gen、PS Eden Space、PS Survivor Space、Metaspace、Code Cache、Compressed Class Space.
    在这里插入图片描述
    在这里插入图片描述

    4.2.1 堆内存使用量

    PS Old Gen 区

    老年代内存占用情况,老年代存放经过多次年轻代垃圾回收都没有回收掉的对象。与此同时,对于大对象的分配内存,也是存放在老年代。大对象判断阈值:-XX:PretenureSizeThreshold=0 ** 默认值是0,意味着任何对象都会现在新生代分配内存。**

    PS Eden Space 区

    新生代内存占用情况,新创建的对象,都是在堆内存年轻代分配。

    PS Survivor Space 区

    幸存者区内存占用情况,存放年轻代垃圾回收时被标记对象,两个survivor区用于复制算法。

    4.2.2 非堆内存使用量

    Metaspace

    元空间区

    Code cache

    代码缓存区,它缓存的是JIT(Just in Time)编译器编译的代码,简言之codeCache是存放JIT生成的机器码(native code)。

    当然JNI(Java本地接口)的机器码也放在codeCache里,不过JIT编译生成的native code占主要部分。

    字节码编译:.java -> .class

    机器码编译:.class -> JIT 机器码

    JVM 执行一段class字节码,分两种方式:解释执行 和 编译执行。

    解释执行是指,在执行字节码时,逐行解释成机器码,然后再执行。

    编译执行是指,提前将经常被调用(达到一定次数)的方法字节码编译成功机器码,并进行各层次的优化,提升执行效率,缓存至codeCache里,避免重复编译。

    Compressed Class Space

    压缩类空间。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.3 线程

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BcMtqYI9-1668758730570)(/Users/rong.li/Library/Application Support/typora-user-images/image-20221117201921172.png)]

    4.4 类

    在这里插入图片描述

    4.5 VM概览

    在这里插入图片描述

    4.6 MBean

    在这里插入图片描述

  • 相关阅读:
    信息系统项目管理师---第十三章项目合同管理历年考题
    如何写出优美的代码
    关于我的博客~ (2022.8.25 -> 在csdn三岁啦)
    C#11新特性之原始字符串
    央企施工企业数字化转型的灵魂是什么
    leetcode1769:移动所有球到每个盒子所需的最小操作数(12.2日每日一题)
    基于SSM的房屋租售网站
    SettingsView/设置页 的实现
    全国职业技能大赛云计算--高职组赛题卷②(私有云)
    CRGDFPASSC,CAS号:166184-23-2
  • 原文地址:https://blog.csdn.net/li396864285/article/details/127924650