• 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

    分析线程状态信息。

  • 相关阅读:
    【限免】杂波环境下线性调频脉冲、巴克码、频率步进脉冲雷达MTI、脉冲压缩【附MATLAB代码】
    Java 实例:删除字符串中的一个字符和字符串替换
    煤矿皮带急停报警监测系统
    Maven简介
    RV1126 DSI 调试
    区间加减-差分数组、前缀和数组
    模拟费用流总结
    戴尔首款纯软产品,再定义下一代对象存储
    【UI测试】内容及流程
    geoserver跨域问题解决
  • 原文地址:https://blog.csdn.net/weixin_43213517/article/details/109703928