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