JAVA 工具定位JVM问题

一、JDK 自带工具查看 JVM 情况

命令     作用
jpsJVM 进程状态指令,列出系统的JVM进程,显现出PID
jinfoJVM信息查看工具,配置信息,jinfo pid
jvisualvm图形界面,查看jvm基本情况
jconsole

jmx兼容工具,监控JVM基本情况 

jstatJVM统计监控工具
jstack栈信息指令
jcmdJVM调试工具
jmapJVM堆内存分析指令,打印进程对象

相关链接文档:

https://docs.oracle.com/javase/8/docs/technotes/tools/

二、使用 Arthas(阿尔萨斯)线上调试debug

1. Arthas 是什么?

  •  这个类从哪个jar包加载的?为什么会报各种类相关的Exception?
  • 我修改的代码为啥没有执行到? 难道我没commit? 分支是否搞错了?
  • 遇到问题无法在线上debug,难道我只能加日志重新发布?
  • 线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!
  • 是否有一个全局视角来查看系统的运行状况?
  • 有什么办法可以监控到JVM的实时运行状态?
  • 快速定位应用的热点,生成火焰图?

2. 一键安装并启动Arthas

a: Cloud Toolkit 实现远程诊断

推荐使用 IDEA 插件下载 Cloud Toolkit 来使用 Arthas:Alibaba Cloud Toolkit - IntelliJ IDEs Plugin | Marketplace

b: 直接下载

 https://github.com/alibaba/arthas

3. Arthas 的watch 命令

    watch 让你能方便地观察到指定方法的调用情况。范围: 返回值,抛出异常,入参(还能观察执行函数的对象本身)通过 ognl 表达式进行对应变量的查看

watch [-b] [-e] [-x ] [-f] [-h] [-n ] [-E] [-M ] [-s] class-pattern method-pattern express [condition-express]

具体的官方使用说明文档: 进阶使用 — Arthas 3.5.6 文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值