jmap -histo 19463 查看堆内存(histogram)中的对象数量及大小jmap -histo 19463 | head -n100 只显示前100行或者使用 jmap -histo:live 19463 | more 查看,使用more命令查看
TIPS:more命令按空格可以翻页查看,按小写字母q可以退出more命令。
jmap -histo:live 19463 这个命令会先触发JVM执行GC(垃圾回收),然后再统计信息。为什么要先触发GC呢?因为这个命令live只统计活着的对象。
jmap -dump:format=b,file=9739_jvm_heap.hprof 9739先解释一下什么叫做dump。dump的意思是转存储,那什么叫做转存储呢?转存储就是将内存(运存)中的数据导出,然后保存(持久化)下来。我们都知道APP(程序)在运行的时候也会产生一些临时数据或者APP(程序)在运行的时候也需要临时存储一些数据。这些数据的存储都是临时性的,一旦APP(程序)运行结束,这些数据就都消失了。所以当JVM运行的过程中出现问题的时候,注意是JVM在运行的时候出问题了,我们就需要把JVM运行时内存(heap堆)的情况dump(转存储),然后分析一下JVM的heap(堆)上面目前是什么情况?