如何对web程序进行对内存使用分析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/han1196639488/article/details/82898369

1.进行查看java程序所属pid

使用:jps命令 参数 -v 可以查看传入参数
在这里插入图片描述

获取到pid = 26278之后,进行jmap -heap 26278命令

查看对内存使用情况;
在这里插入图片描述

然后进行jstack查看堆栈的线程信息:使用jsatck -l 26278

还可以使用jmap -histo:live 26278分析内存使用实例

在这里插入图片描述
上面为实例数量,和实例的内容,
class name对应的就是Class文件里的class的标识
B代表byte
C代表char
D代表double
F代表float
I代表int
J代表long
Z代表boolean
前边有[代表数组,[I 就相当于int[]
对象用[L+类名表示

最后采用jmap -dump:live,format=b,file=/tmp/dump.hprof 26278

会产生dump.hprof文件,我们采用jdk自带的性能分析神器VisualVM来分析这个文件,现在我们打开这个文件,导出的文件系统必须与jdk所属系统一致才能解析。

猜你喜欢

转载自blog.csdn.net/han1196639488/article/details/82898369