只希望查看程序的一部分而非全部程序,而且希望可以有相关类或自己写的方法而非外部软件。(用于分析算法空间性能。)
首先“一部分”描述不准确,如果是看不同对象的“浅内存”占用,最简单用jmap, 如下
jmap -histo:live [pid] | head -n 50
jvisualvm 可以直接看
如果是服务器上的进程也可以 jmap dump下来之后 用jvisualvm慢慢分析http://stackoverflow.com/questions/15130956/how-to-analyse-the-heap-dump-using-jmap-in-java
这两个工具都是jdk自带的,另外我之前用openjdk的jmap dump的时候报异常 慎用