JDK8之监控与故障处理工具

本文详细介绍了一系列Java监控和故障处理工具,包括jps、jstat、jmc、jcmd、jinfo、jhat、jmap、jsadebugd、jstack等。这些工具可用于监控JVM状态、查看内存使用、导出堆信息、执行GC操作、分析线程状态等,对于Java应用的性能优化和问题定位具有重要作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

监控工具:

  • jps
    列出系统上正在运行的Java虚拟机
  • jstat
    查看对内存各个部分的使用量,垃圾回收信息,以及加载类的数据。当出现GC异常时,使用-gccause查看最近和当前的垃圾回收事件的原因,具体用法参考https://www.cnblogs.com/duanxz/archive/2012/11/29/2794764.html
  • jstatd
    是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
  • jmc
    可视化JVM监控工具,与jvisualvm相似。jmc监控数据比jvisualvm更加丰富。

故障处理工具

  • jcmd
    是一个多功能的工具,可以用它来导出堆、查看Java进程、导出线程信息、执行GC、还可以进行采样分析(jmc 工具的飞行记录器)。示例参考:jdk工具之jcmd介绍
  • jinfo

    可以用来查看正在运行的 java 应用程序的扩展参数,包括Java System属性和JVM命令行参数。

  • jhat
    是jdk内置的工具之一。主要是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。

  • jmap
    是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。具体示例参考https://www.cnblogs.com/duanxz/p/4890475.html
  • jsadebugd
    附加到Java进程或核心文件,并充当调试服务器。
  • jstack

    用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
    线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。具体示例参考https://www.cnblogs.com/duanxz/p/5487576.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值