- 查看一个进程的内存占用每隔interval秒显示一次:
top -d ${interval} -p ${pid} - 使用jmap查看各个对象占用内存情况,输出到live文件:
jmap -histo:live ${pid} > live - 根据live文件中显示的占用内存最多的对象,分析其是由哪些类造成的。首先用jmap将堆内存dump下来到heap文件:
jmap -dump:live,format=b,file=heap ${pid} - 使用jhat分析:jhat heap。jhat会启动一个7000端口的server,访问ip:7000可以查看堆内存情况。默认显示非平台的类(jdk的类不显示),在网页最下面可以查看平台的类,找到占用内存最大的那个类,点进去,最终找到是哪个类造成该类内存泄漏。
java进程内存泄漏排查
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- jstack-- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java sta...
- 参考自 http://techblog.youdao.com/?p=961 在分析具体故障,先介绍一下几种常用的工...
- jmap -heap 1234 查看进程号为1234的Java程序的整个jvm内存状态 jmap -histo 1...