常用命令行工具
- jps 查看java进程
- jstat 查看虚拟机各方面的运行数据(gc、加载类信息)
- jinfo 查看jvm配置信息
- jmap 生成jvm内存的看快照
- jhat 用于分析jmap生成的快照文件
- jstack 查看线 的运行状态或者说是线程的快照信息
jps
常用命令:
jps -v 查看虚拟机的进程启动时候指定的参数
jinfo
实时查看虚拟机的参数配置信息
-
jinfo <pid> 全量的各种信息
image.png
-
jinfo -flag <某个参数key>

jstat
查看虚拟机的实时运行参数信息,主要分为三类 类装载信息、垃圾收集信息、运行期编译状况
- jstat [option pid [interval] [count] ]
间隔一定时间,输出指定option的参数统计信息,运行count次。
常用命令
- jstat -gcutil 8135 查看gc信息

上面都是内存模型各个分代模型的使用占比。 e:伊旬去 ,o老年代,p 永久代,ygc minitorGc 次数,ygct gc花费时间 。
gc 相关的参数,还有很多,可以查看各个区的大小,各个代的大小。 可以使用jstat -options 查看选项。

-
jstat -class 8135
类加载信息,loaded 加载类数量,总空间,卸载类数量,类装载花费时间。
image.png
-
jstat -compiler 8135
查看编译过的方法
image.png
jmap 内存映像工具
jmap 生成jvm dump信息,生成jump的方法还可以通过配置虚拟机参数设置。-XX:HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak
-
jmap -dump:format=b,file=8135.bin 8135
生成堆快照,可用MAT分析。 -
jmap -histo 生成虚拟机的直方图数据信息
-
jmap -heap 显示java堆的详细信息
image.png
jstack java堆栈跟踪命令
-
jstack -l 8135 除堆栈外,显示关于锁的附加信息
image.png
网友评论