锁定老帖子 主题:通过GC输出分析内存泄露问题
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-28
既然有dump文件了,应该就可以找到原因了。
dump当然不会很直接的告诉你root cause, 但是通过分析dump文件应该可以把问题缩小,然后看相应的代码,问题就能解决。 我不知道你们用不用一个叫做SAP Memory Analyer的工具。非常好用(至少比jhat好太多)。 如果没用过,强烈推荐。 |
|
返回顶楼 | |
发表时间:2008-10-28
我最近也在找一个项目的内存泄漏问题,毫无头绪,哪位能否介绍一下如何才能发现是程序的哪里出现了内存泄漏?
|
|
返回顶楼 | |
发表时间:2008-10-29
disorder 写道 我最近也在找一个项目的内存泄漏问题,毫无头绪,哪位能否介绍一下如何才能发现是程序的哪里出现了内存泄漏?
如果真是内存泄漏,系统最终会抛OutOfMemory, 加这个-XX:+HeapDumpOnOutOfMemoryError (jdk1.5以上)可以得到heap dump. 这个dump纪录了所有在OutOfMemory时存在于内存中的对象。用普通的jhat之类的工具分析dump文件不够好。推荐使用SAP Memory Analyzer。用这个工具你可以比较快的定位原因。 不要说dump没用,dump里面提供了足够的信息。只是看你怎么利用它,分析它。 |
|
返回顶楼 | |
发表时间:2009-04-21
楼上能否详细介绍一下:
在Tocat启动加入-XX:...的位置 当系统崩溃时,记录的文件在哪个目录,文件名字是什么 |
|
返回顶楼 | |