开发者

JVM heap dump unreferenced objects

I have an application that is using a lot more than expected short lived objects this is causing significant performance issues which I need to resolve. To give you a开发者_高级运维n idea of the scale of the problem the Eden space jumps from around 200mb to 1800mb in 10 seconds before the garbage collection runs again and brings Eden right back down. I have taken 2 heap dumps one just after GC and one before the next run. I want to analyse these and see what the unreferenced objects are so I can find the source of the issue however, when I load the heap dumps in to either eclipse or netbeans both seems to remove the data associated with the unreferenced objects and just show the 200mb of referenced objects in the application at that time. Does anyone know of a tool/way for me to analyse the heap dump to see what the unreferenced objects are?

Thanks,

James


Last time I debugged such problem I used http://www.yourkit.com/ that helped me very much.


Maybe Unreachable Objects histogram available in Eclipse Memory Analyzer can help you. You may also try enabling -keep_unreachable_objects as stated on the FAQ.


I don't know of a tool to analyze the heap dumps, but jvisualvm that comes with the jdk distribution has a rather nice memory profiler, that I've used to debug similar issues. It should be in your jdk bin-directory.


I've been able to track down a lot of heap related issues with the IBM Heap Analzyer

But I guess you have to be running the IBM SDK to use it, but maybe it worth a shot?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜