1. 使用 visual vm, 下载地址 http://visualvm.java.net/, visual vm 1.3.8 仅支持 jdk7 以上版本,jdk1.6,请下载 visual vm 1.3.6
2. 检测远程服务jvm 状况, 点击 remote ,点击添加host, 右键 add jmx connection,填入hostname或者ip,以及所开启的远程检测端口
3. 以上数据只是图形化的显示heap的状态,如果想知道heap的实际锁包含的对象,以及那部分对象所占内存空间大,使用 jmap、jhat 进行分析
jmap -dump:live,file=a.map pid ( 所需要监测进程pid) === 生成 a.map 文件
jhat a.map
访问 : http://服务器ip/7000, 如下图
4. 找到 heap histogram 数据,看看各个对象所包含的个数其所占用的大小
参考:
http://jiajun.iteye.com/blog/1180230
http://blog.csdn.net/gtuu0123/article/details/6039474