判断java内存泄露的方式

1、在jvm启动时加上:-agentlib:hprof=heap=sites,file=heap.txt  ,然后执行一段时间后执行 kill -3 <pid>,就可以获取jvm的内存镜像。类似的通过-agentlib:hprof=cpu=samples,file=cpu.txt查看cpu的状况。

2、先用jmap获取内存镜像:jmap -dump:live,format=b,file=/search/b.dat 5209,然后用jhat分析内存镜像:jhat  -J-Xmx4096m /search/b.dat 。之后通过7000端口访问,其中的Show heap histogram是展示堆中大内存的页面;

 

参考:http://hi.baidu.com/camaro/blog/item/384b31e9e7bae237b90e2d44.html

你可能感兴趣的:(java,jvm,jdk,应用服务器,linux)