JVM-基于服务性代理的调试工具JHSDB(windows)

JHSDB是什么?解决什么问题?

    JHSDB是一款基于服务性代理(Serviceability Agent,SA)实现的进程外调试工具。

实现java代码

    环境变量:-Xmx10m -XX:+UseSerialGC -XX:-UseCompressedOops

a3878d8c5f040b787b4eb8393b6f70a3.png

然后jps -l 获取id

jps -l

9c356a60ab655e1577facc0d12b1715a.png

进入java lib 运行如下:

java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDB

9aff6bf306136bf56cea2f03b84ae89e.png

选择file->Attach to HotSpot process输入你的id->OK

a3eb6b4a695b2aa78bf40ebd145d9da2.png

d0ff22eb7b2518bbc49320301bf67d8c.png

可能遇到的问题:

5c4d7b6d3b46d2a9f201a2f19722d3c2.png

解决方法:

将jre中的 sawindbg.dll复制到找不到的路径。

相关功能介绍

bdd730aa52f0ce601d911b6e58324fbd.png

3e874ddac3f29554ec700c8f2c8b6e4d.png

8e2483b4c7f82005f00c1f1749168c4f.png

(参考HotSpot实战)

Tools->Heap Parameters(查看内存使用情况)

eb74ab9d2945414d0a1cc284c6750990.png

名称
作用
ParallelScavengeHeap

parallel垃圾回收器

PSYoungGen 

新生代

eden伊甸园
fromfrom区
toto区
PSOldGen 

老年代

987758b1c621ac6b9a73442ca823ad2b.png

291642495e2abc7d7c284043619d2f24.png

73113545e446c0d11421c0db91c161aa.png

3ed29751c0ef5f776c6dee208332b1df.png

最后

    JHSDB还是比较实用,只是在实际工作中发现用的人不是特别多,不过该工具比较实用可以详细看到JVM的详细情况,堆、内存、线程以及可以用来判断是否存在死锁等,唯一可惜的是该工具目前只有windows版本,如果想用类似的功能可以看下阿里巴巴的开源arthas。

参考文章:

    https://www.cnblogs.com/alinainai/p/11070923.html

往期推荐

jvm-jhat(虚拟机堆转储快照分析工具

jvm-jmap(内存映像工具)的使用

JVM-jinfo的使用

JVM-jstat(虚拟机统计信息监视工具)的使用

jvm的jps简单使用

jvm空间分配担保怎么回事?

fefe7b54f002a37aa812f51d0c55aaa7.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值