java jmap histo_JVM:jmap -histo

结合sort命令,来查看:一个JVM中什么类的实例最多?一个JVM中什么类的占用的合计容量最大?

Q:统计实例最多的类 前十位有哪些?

A:jmap -histo pid | sort -n -r -k 2 | head -10

Q:统计合计容量前十的类有哪些?

A:jmap -histo pid | sort -n -r -k 3 | head 10

说明:

sort命令的部分参数含义解释如下

-n :使用“”纯数字”进行排序(默认是以文字类型来排序)

-r : 反向排序

-k :以那个区间(field)来进行排序的意思

参考:《鸟哥的Linux私房菜-基础学习篇》

使用jmap -histo[:live] pid查看堆内存中的对象数目、大小统计直方图,如果带上live则只统计活对象,如下:

root@ubuntu:/# jmap -histo:live 21711 | more

num #instances #bytes class name

----------------------------------------------

1: 38445 5597736

2: 38445 5237288

3: 3500 3749504

4: 60858 3242600

5: 3500 2715264

6: 2796 2131424

7: 5543 1317400 [I

8: 13714 1010768 [C

9: 4752 1003344 [B

10: 1225 639656

你可能感兴趣的:(java,jmap,histo)