JVM调优与监控命令概览


💖The Begin💖点点关注,收藏不迷路💖

JVM(Java虚拟机)的性能调优和故障处理是至关重要的。Sun JDK提供了一系列强大的命令行工具,帮助开发者和运维人员监控JVM状态、诊断问题并进行性能调优。以下是对这些实用工具的简要介绍:

1. jps - JVM Process Status Tool

jps(Java Virtual Machine Process Status Tool)是一个非常实用的工具,用于列出当前系统中所有的HotSpot虚拟机进程及其ID。

jps -l

使用-l参数可以显示主类的全限定名,便于识别不同的Java应用。

2. jstat - JVM Statistics Monitoring Tool

jstat(JVM Statistics Monitoring Tool)用于监视Java虚拟机各种运行时状态信息,如类加载、内存使用、垃圾收集以及JIT编译等。它是进行JVM性能调优的得力助手。

jstat -gc <pid> 1000

每隔1000毫秒(1秒)输出一次进程ID为的Java虚拟机的垃圾收集情况。

3. jmap - JVM Memory Map Tool

jmap(Java Memory Map)命令用于生成Java堆的dump文件,这些文件对于后续的内存泄漏分析至关重要。

jmap -dump:live,format=b,file=heapdump.hprof <pid>

上述命令生成一个包含存活对象的堆转储文件heapdump.hprof,这对于使用MAT(Memory Analyzer Tool)等工具进行后续分析非常有用。

4. jhat - JVM Heap Analysis Tool

jhat(Java Heap Analysis Tool)用于分析jmap生成的堆转储文件。它内置了一个简单的HTTP/HTML服务器,可以在浏览器中查看分析结果。

jhat heapdump.hprof

启动后,jhat会在指定端口(默认为7000)上启动服务器,用户可以通过浏览器访问http://localhost:7000来查看分析结果。

5. jstack - Stack Trace for Java Threads

jstack命令用于生成Java虚拟机当前时刻的线程快照,即当前JVM内每一条线程的堆栈跟踪信息。有助于于分析线程死锁、长时间停顿等问题。

jstack <pid>

直接指定Java进程ID即可生成该进程的线程快照。

6. jinfo - JVM Configuration Information

jinfo命令用于查询或打印指定Java进程的系统属性值和JVM命令行标志。它还可以用于在运行时动态地调整某些JVM参数(但仅限于-XX:+UnlockDiagnosticVMOptions已开启的情况)。

jinfo -flags <pid>

打印出指定Java进程的JVM启动参数。
在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖
  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Seal^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值