Java监控与分析工具

文章目录

  • Java 监控与分析工具
    • 1. jstat —— Java 虚拟机统计监控工具
      • 常见用法
    • 2. jmap —— Java 内存映像工具
      • 常见用法
    • 3. jstack —— 线程堆栈分析工具
      • 常见用法
    • 4. VisualVM —— 图形化 Java 监控工具
      • 启动 VisualVM
      • 主要功能
    • 5. JConsole —— 轻量级 Java 监控工具
      • 启动 JConsole
      • 主要功能
    • 6. jinfo —— JVM 运行参数查询工具
      • 常见用法
    • 7. jcmd —— 强大的一体化 JVM 诊断工具
      • 常见用法

Java 监控与分析工具

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

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

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

常见用法

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

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

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

常见用法

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

Java监控与分析工具_第1张图片

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

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

常见用法

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

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              # 显示 JVM 配置信息
jinfo -flags       # 显示 JVM 启动参数
jinfo -sysprops    # 显示系统属性

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

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

常见用法

jcmd  VM.flags        # 查询 JVM 启动参数
jcmd  Thread.print    # 输出线程堆栈信息
jcmd  GC.heap_dump filename=heapdump.hprof  # 生成堆转储

你可能感兴趣的:(java,java,jvm,开发语言)