logo头像
ICQL

jvm_实战

jvm工具

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html
https://docs.oracle.com/javase/8/docs/technotes/tools/windows/index.html

1)命令行工具

查看jvm进程
jps -l -v

查看运行时的jvm进程状态
jstat -gc 端口 查下间隔毫秒 查询次数

查看jvm进程默认配置
java -XX:+PrintFlagsFinal -version

堆工具
jmap -dump:format=b,file=D:\test.bin 端口号 dump堆快照
jmap -heap 堆详细信息
jmap -histo 对象统计直方图

堆快照分析工具
jhat D:\test.bin 启动本地7000端口

栈工具
jstack 端口 查看当前栈信息

强大的工具
jcmd

jcmd 端口 help 打印jvm进程可用的参数

飞行记录器
使用jdk/bin/jmc.exe工具分析飞行记录文件
https://docs.oracle.com/javacomponents/jmc-5-5/jfr-runtime-guide/comline.htm#JFRRT183

jcmd 端口 VM.unlock_commercial_features 解锁飞行器记录
jcmd 端口 JFR.start name=test settings=飞行器记录模板 delay=5s duration=2m filename=D:\test.jfr 开启飞行器记录
jcmd 端口 JFR.check name=test 检查飞行器记录
jcmd 端口 JFR.stop name=test 停止飞行器记录
jcmd 端口 JFR.dump name=test filename=D:\test.jfr 停止飞行器记录并转储

注意:
上述开启飞行器记录的 settings=飞行器记录模板,默认在jre/lib/jfr/文件夹下面,有default、profile
但是这两个都没有开启完整的功能,例如 实例统计直方图,类统计等事件
需要自己修改模板开启,可以利用win下的jmc工具-窗口-飞行记录模板管理器-导入其中一个模板修改开启完整的功能保存
线上可以将自己的配置文件放在jre/lib/jfr/下,便可以使用 settings=icql(模板文件名)
全功能的jfr模板文件,点击可直接下载,jfr模板配置文件

2)可视化工具

jvisualVM 运行时分析工具 /bin/jvisualvm.exe
jmc 飞行器分析工具 /bin/jmc.exe
JHSDB 运行时hotspot debug调试工具,具体查看 类加载篇-HSDB工具的使用



OOM分析

TODO

查看java安装路径,echo $JAVA_HOME

微信打赏

赞赏是不耍流氓的鼓励