• JVM常用工具


    JVM常用工具

    1、JPS 查看Java进程

    简化版的 ps -ef | grep java
    在这里插入图片描述
    一切操作的基础,需要先获取进程号。

    -l 参数,显示应用程序主类完整全路径
    在这里插入图片描述
    -v参数,列出应用程序启动时的JVM启动参数
    在这里插入图片描述

    2、JStat

    查看JVM运气时期的一些状态信息。如查看类型的加载,垃圾回收等。主要用来看一段时间的GC及内存使用情况。

    使用方式: jstat -gc 进程ID 时间 次数

    每1s时间查看一次JVM的垃圾收集情况,一共查看10次对应的命令为:
    jstat -gc xxx 1000 10
    在这里插入图片描述
    各项信息说明:

    • S0C : 第一个幸存区的空间
    • S1C : 第二个幸存区空间
    • S0U : 第一个幸存区已经使用的空间
    • S1U : 第二个幸存区已经使用的空间
    • EC : Eden区的空间
    • EU : Eden区已经使用的空间
    • OC : old区的空间
    • OU : old区已经使用的空间
    • MC : 方法区的空间
    • MU : 方法区已经使用的空间
    • CCSC:压缩类空间大小
    • CCSU:压缩类空间使用大小
    • YGC:young gc的次数
    • YGCT: yong gc 花费的时间
    • FGC : full gc 的次数
    • FGCT:full gc花费的时间
    • GCT : 垃圾回收消耗总时间

    3. Jinfo 查看和修改JVM的参数

    使用Jinfo可以在应用程序运行期间动态改变参数,如 开启打印GC日志:
    jinfo -flag +PrintGC 进程Id
    在这里插入图片描述
    因为打印GC日志是需要消耗一定资源,为了不影响性能,一般都是关闭的,但是当出现问题的时候,就可以通过该命令打印GC日志信息。另外查看完毕后一定记得关掉。
    在这里插入图片描述

    4、Jmap

    生成堆快照信息,查看堆的内存使用信息。
    jmap -heap < pid >
    在这里插入图片描述
    jmap -histo < pid >
    显示每个class的实例数,及内存占用
    jmap -histo:live pid 只显示存活的。
    在这里插入图片描述
    -dump 生成的堆转储快照

    在这里插入图片描述

    5、Jhat

    分析dump文件 jhat dump文件

    6、jstack

    分析线程状态信息。

  • 相关阅读:
    美国封锁激励中国制造业数字化转型的崛起 | 百能云芯
    PowerBI真经连续剧
    并发-Java中的线程池
    内网建自己的pip源
    Java8特性,Stream流的使用,收集成为map集合
    在liunx下读取串口的数据
    23种设计模式 9组合模式
    java毕业生设计学院学生论坛计算机源码+系统+mysql+调试部署+lw
    再谈exception——异常抛出时会发生什么?
    element-ui的el-table属性修改,如内边框,斑马纹,列宽度...
  • 原文地址:https://blog.csdn.net/weixin_43213517/article/details/109703928