Java监控与分析工具

Java 监控与分析工具

在 Java 开发过程中,了解并掌握 JVM(Java 虚拟机)监控与分析工具对于排查性能问题、优化应用至关重要。

1. jstat —— Java 虚拟机统计监控工具

jstat(Java Virtual Machine Statistics Monitoring Tool)是 JDK 自带的命令行工具,用于监控 JVM 的 GC(垃圾回收)行为、类加载、编译等。

常见用法

jstat -gc <pid> 1000 5   # 每隔1秒输出一次GC信息,共输出5次
jstat -gcutil <pid> 1000 # 监控GC利用率
jstat -class <pid>       # 查看类加载信息
jstat -compiler <pid>    # 查看JIT编译统计信息

2. jmap —— Java 内存映像工具

jmap 用于生成 JVM 内存快照(heap dump)并分析的使用情况。

常见用法

jmap -heap <pid>         # 显示堆的使用情况
jmap -histo:live <pid>   # 显示堆中存活对象的实例数量和大小
jmap -dump:live,format=b,file=heapdump.hprof <pid>  # 生成堆转储快照

在这里插入图片描述

3. jstack —— 线程堆栈分析工具

jstack 用于查看 Java 进程中的线程状态,帮助排查死锁、高 CPU 占用等问题。

常见用法

jstack <pid>            # 输出指定进程的线程堆栈信息
jstack -F <pid>         # 强制输出线程堆栈(用于无法正常响应的进程)
jstack -l <pid>         # 显示锁信息

4. VisualVM —— 图形化 Java 监控工具

VisualVM 是 JDK 自带的 GUI 工具,提供线程、堆、GC 监控及分析功能。

启动 VisualVM

jvisualvm

主要功能

  • 监控 CPU、内存、GC 及线程信息
  • 分析堆转储文件(heap dump)
  • 分析线程 dump
  • 采样(Profiling)代码执行性能

5. JConsole —— 轻量级 Java 监控工具

JConsole 是 Java 自带的 GUI 监控工具,提供基本的 JVM 监控能力。

启动 JConsole

jconsole

主要功能

  • 查看内存使用情况
  • 监控 GC 统计信息
  • 监视线程活动
  • 管理 MBeans(JMX 监控)

6. jinfo —— JVM 运行参数查询工具

jinfo 用于查询和修改 JVM 运行时参数。

常见用法

jinfo <pid>             # 显示 JVM 配置信息
jinfo -flags <pid>      # 显示 JVM 启动参数
jinfo -sysprops <pid>   # 显示系统属性

7. jcmd —— 强大的一体化 JVM 诊断工具

jcmd 是功能最强大的 JVM 诊断工具,可以替代 jmapjstackjinfo 等工具。

常见用法

jcmd <pid> VM.flags        # 查询 JVM 启动参数
jcmd <pid> Thread.print    # 输出线程堆栈信息
jcmd <pid> GC.heap_dump filename=heapdump.hprof  # 生成堆转储
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值