jvm指令与工具jstat/jstack/jmap/jconsole/jps/visualVM

1.jps

jps
查看java进程,java进程号
在这里插入图片描述

2.jconsole图形化界面

在linux上面无法显示,在本机可以查看
在这里插入图片描述

1.查看对应cpu和内存使用情况

在这里插入图片描述

2.查看jvm堆里面内存使用状况和gc情况

在这里插入图片描述

3.查看对应进程中线程情况

在这里插入图片描述

4.加载类情况

在这里插入图片描述

5.jvm参数等信息

在这里插入图片描述

6.所有加载的bean情况

在这里插入图片描述

3. jstat

1.jstat -gcutil 进程查看java进程内存使用情况

jstat -gcutil 进程号 时间间隔
jstat -gcutil 2284 1000 1秒钟打印一次内存和gc情况
注意:内存值百分比
S0 survive0区
S1 survive1区
E 伊甸区
O 老年代
M 元空间
CCS 压缩类
YGC younggc 次数
YGCT younggc 时间
FGC fullgc次数
FGCT fullgc时间
GCT 总gc平均时间
在这里插入图片描述

2.jstat -gc 进程 查看java进程内存具体的值

jstat -gc 2284
在这里插入图片描述

3.jstat -gcnew 进程 查看java进程新生区内存情况

jstat -gcnew 2284
在这里插入图片描述

4.jstat -gcold 进程 查看java进程养老区内存情况

jstat -gcold 2284
在这里插入图片描述

4.jstack 线程id 分析线程

jstack 2284
在这里插入图片描述

5.jmap 分析及VisualVM加载dump文件分析问题

1.jmap -dump:file=文件名 pid 将堆信息dump

jmap -dump:file=dump.txt 2284
jmap 将堆信息dump下来
在这里插入图片描述

2.jmap -heap pid java线程内存概况

jmap -heap 2284 查看java线程内存情况
在这里插入图片描述
在这里插入图片描述

3.jmap -histo pid 打印每个class的实例数目,内存占用,类全名信息

jmap -histo 2284 打印每个class的实例数目,内存占用,类全名信息
在这里插入图片描述

4.jmap -histo:live pid 打印每个class的实例数目,内存占用,类全名信息

jmap -histo:live 2284只统计活的对象数量
在这里插入图片描述

5.导出为文件查看jmap -histo 2284 >2.txt

6.-XX:+HeapDumpOnOutOfMemoryError

在启动java进程的时候加上jvm参数在内存溢出时候将堆信息dump出来

7.将jmap -dump 导下来的文件通过Visual VM load进来在本机即可分析

visualVM mac版本下载地址http://www.pc6.com/mac/1040439.html
在这里插入图片描述

Guess you like

Origin blog.csdn.net/Persistence___/article/details/121482215