Hi JB,
Thank you for the great job you do and for your quick answer.
I have already tried jmap but I got an exception:
./jdk1.8.0_40/bin/jmap -F -dump:file=/users/file.hprof 853
Attaching to process ID 853, please wait...
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: cannot
open binary file
sun.jvm.hotspot.debugger.DebuggerException:
sun.jvm.hotspot.debugger.DebuggerException: cannot open binary file
at
sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.execute(LinuxDebuggerLocal.java:163)
at
sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach(LinuxDebuggerLocal.java:278)
at sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:671)
at
sun.jvm.hotspot.HotSpotAgent.setupDebuggerLinux(HotSpotAgent.java:611)
at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:337)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.tools.jmap.JMap.runTool(JMap.java:201)
at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: sun.jvm.hotspot.debugger.DebuggerException: cannot open binary file
at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach0(Native
Method)
at
sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.access$100(LinuxDebuggerLocal.java:62)
at
sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$1AttachTask.doit(LinuxDebuggerLocal.java:269)
at
sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.run(LinuxDebuggerLocal.java:138)
However I can connect to jconsole or jvisualvm.
[@@ THALES GROUP INTERNAL @@]
-----Message d'origine-----
De : Jean-Baptiste Onofré [mailto:[email protected]]
Envoyé : jeudi 5 février 2015 10:42
À : [email protected]
Objet : Re: karaf, heap dumps, jvisualvm
Hi Sébastien,
did you simply try a jmap (with the Karaf PID) ?
I use jvisualvm (or jhat) for analyses.
Regards
JB
On 02/05/2015 10:36 AM, DERIES Sebastien wrote:
> Hi guys,
>
> I use Karaf 3.0.2 with java 8_u40 and investigate on a memory leak in
> one of our bundles we developed. I created a heap dump using the karaf
> command dump-create which is very useful. It created a dump.zip file
> containing all the information I need. However, I tried to open the
> heapdump.txt with jvisualvm to analyze the memory of our application
> but jvisualvm cannot open the dump file. I used a second memory
> analysis tool, eclipse memory analyzer and this tool was able to open
> the dump file and get the information of the dump . Have you ever
> tried opening a memory dump with visualvm, it is the tool I prefer for
> finding leaks?
>
> Secondly, I like to " live" monitor memory using jvisualvm and use
> its Heap Dump button to create memory dumps when I want to, but when I
> try to use this command it doesn't work and I get the error "cannot
> take heap dump for org.apache.main.Main" ? Is there a way to configure
> karaf so that I can dump memory through jvisualvm ?
>
> Which tool do you usually use to find memory leaks ?
>
> Thank you.
>
> Regards
>
> Seb
>
> [@@ OPEN @@]
>
--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com