# Java 11 中的 jhsdb 工具:深入了解 Java 进程的诊断和调试
Java 是当前最流行的编程语言之一,广泛应用于企业级应用、移动应用和网站开发。在 Java 的生态系统中,有许多工具可以帮助开发者进行性能分析、调试和故障排查。`jhsdb` 是 Java 11 中一个重要的诊断工具,可以帮助开发者在运行时查看 Java 进程的内部状态。
## 什么是 jhsdb?
`jhs
原创
2024-08-26 05:14:22
144阅读
本文通过JHSDB工具和字节码层面来更深入的了解JVM运行时数据区,对于JHSDB工
原创
精选
2022-11-21 11:03:13
236阅读
一、jmap获取堆概要信息JDK9之前:jmap -heap 33146JDK9及之后:jhsdb jmap --heap --pid 33146执行示例:zhibo-mac:JavaVirtualMachines zhibo$ jhsdb jmap --heap --pid 33146Attaching to process ID 33146, please wait...Debugger at
原创
2022-08-31 21:03:32
621阅读
//查询内存使用前十的进程
ps -aux --sort -rss |head -10
// 查询java进程启动参数
jhsdb jinfo --flags --pid 28575
//查询gc以及内存使用情况
jstat -gc 24512
//查询容量使用百分比
jstat -gcutil 24512
//查询java进程堆配置及使用信息
jhsdb jmap --heap --p
转载
2023-06-01 20:20:35
63阅读
openjdk8 使用 hsdb 工具追踪内存中的对象调试的源代码package test;public class JHSDB_TestCase { private static class
原创
2023-06-08 14:59:44
149阅读
目录一、简言二、JHSDB:基于服务性代理的调试工具2.1、要验证的代码2.2、启动JHSDB2.3、在堆当中寻找对象2.4、查看对象详情2.5、找出 堆中 引用它们的指针2.6、找出 栈中 引用它们的指针三、JConsole:Java监视与管理控制台3.1、启动JConsole3.2、内存监控3.3、线程监控3.4、监控死锁四、VisualVM:多合-故障处理工具4.1、启动VisualVM4
转载
2023-11-08 17:18:01
59阅读
本机环境:Windows10 jdk1.81 这边直接把书中的代码拿过来了(请看下注释)// 注意这里的包名路径,后面会用到
package vip.mate.module.accounting.controller;
public class JHSDB_TestCase {
static class Test{
static ObjectHolder stati
1)jinfo -flags pid 查询虚拟机运行参数信息。2)jinfo -flag name pid,查询具体参数信息。3)jmap -heap pid:输出堆内存设置和使用情况(JDK11使用jhsdb jmap --heap --pid pid)4)jmap -histo pid:输出heap的直方图,包括类名,对象数量,对象占用大小5)jmap -histo:live pid:同上,只
转载
2023-06-08 19:27:45
1790阅读
JVM 调优8 JVM 调优8.1 性能监控,故障处理工具8.1.1 jps:虚拟机进程状况工具8.1.2 jstat:虚拟机统计信息监视工具8.1.3 jinfo:Java 配置信息工具8.1.4 jmap:Java 内存映像工具8.1.5 jhat:虚拟机堆转储快照分析工具8.1.6 jstack:Java 堆栈跟踪工具8.2 可视化故障处理工具8.2.1 jhsdb 基于服务性代理的调试工
项目运行环境:运行环境:k8s+docker+open-jdk11+springBoot 公司的项目都是使用kubernate+docker来管理、运行应用。问题描述:发现项目出现多次oom。排查到的原因有两个,1是分配的堆内存太小;2是代码设计原因(之后写出来总结)原因分析:进入容器,使用 jhsdb jmap --heap --pid [PID] 查看分配的堆大小 输出结果:JVM versi
转载
2024-02-20 09:37:32
346阅读
启动一个jar包实操说明最大堆内存 1g
-Xmx1g
初始堆内存1g
-Xms1g
关闭自适应参数
-XX:-UseAdaptiveSizePolicy
启用G1GC
-XX:+UseG1GC
设置GC理想暂停延迟为50ms
-XX:MaxGcPauseMillis=50
启动jar包
-jar x.jar查看进程相关信息jmap实操说明jmap -heap提示不能用,建议以jhsdb jma
转载
2024-02-23 19:17:33
65阅读
揭开java 对象在内存中的面纱前情提示:堆中的 java 对象只有数据部分,对象中的数据的含义要结合方法区中的class 才能明了对象的内存结构图:延伸:二维数据对象的内存结构!使用 jhsdb hsdb 工具查看真实地址中的 java对象注意:java 虚拟机为了节约内存,对堆内存中的对象的对象属性地址都进行了压缩class 指针地址在前补一位8 即为真实地址:如 0x00c00a00 =&g
转载
2024-06-21 12:33:31
26阅读
jps显示系统所有虚拟机进程信息的命令行工具jstat监视分析虚拟机运行状态的命令行工具jinfo查看和调整虚拟机参数的命令行工具jmap生成虚拟机堆内存转储快照的命令行工具jhat显示和分析虚拟机的转储快照文件的命令行工具jstack生成虚拟机的线程快照的命令行工具jcmd虚拟机诊断工具,JDK 7 提供jhsdb基于服务性代理实现的进程外可视化调试工具,JDK 9 提供JConsole基于JM
原创
2021-01-15 10:49:31
196阅读