首页 > 如何测量java程序分配的内存空间?

如何测量java程序分配的内存空间?

只希望查看程序的一部分而非全部程序,而且希望可以有相关类或自己写的方法而非外部软件。(用于分析算法空间性能。)


首先“一部分”描述不准确,如果是看不同对象的“浅内存”占用,最简单用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的时候报异常 慎用

【热门文章】
【热门文章】