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.youkuaiyun.com/gtuu0123/article/details/6039474
本文介绍如何使用VisualVM工具来检测远程服务的Java虚拟机状态,包括使用VisualVM的远程连接功能,以及通过jmap和jhat进行更深入的对象分析。详细步骤包括下载并选择合适的版本,配置远程连接,生成heap dump文件,并通过jhat进行可视化分析。
1675

被折叠的 条评论
为什么被折叠?



