首页 > 其他 > 详细

用什么工具查看内存溢出,结合具体实例讲一下具体的过程

时间:2016-05-08 11:36:28      阅读:345      评论:0      收藏:0      [点我收藏+]

果通过指令的话,一般先调用jps查看到具体的pid,然后调用jstat来查看运行时的内存,以及GC的频率等,然后通过jstack查看线程是有阻塞、死锁、循环等,最后通过jmap生成的堆快照进行分析内存溢出的地方。

使用可视化工具的话:

如果是jConsole,可以通过内存窗口查看堆以及各个部分的内存情况,通过线程窗口可以查看线程是否等待、循环、死锁等情况。

是 同VisualVM可以定位到具体内存溢出的位置。通过VisualVM可以观察堆、新生代、老年代、永久代的情况,同样通过线程查看是否有阻塞、循环、 死锁等情况。如果有内存溢出情况,首先是在监视窗口点击堆快照,生成快照,然后分析堆快照,通过分析堆转储上的线程,定位到具体执行的线程,然后就可以具 体分析线程里面的实例的数量以及大小,同时可以定位到程序中具体那一行代码,通过代码上下文具体是否写错了。

用什么工具查看内存溢出,结合具体实例讲一下具体的过程

原文:http://www.cnblogs.com/wzyxidian/p/5470009.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!