title: Can't dump heap on java process
body: <p>I have a java process which I want to debug. The problem with it is that it has too many open connections, so running jmap fails because it can't connect to process.
  Running jmap -F produces the next error:</p>
  
  <pre><code>Attaching to process ID 1772, please wait...
  sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypeEntryTypeNameOffset" in any of the known library names (libjvm.so, libjvm_g.so, gamma_g)
          at sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:388)
          at sun.jvm.hotspot.HotSpotTypeDataBase.getLongValueFromProcess(HotSpotTypeDataBase.java:369)
          at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:102)
          at sun.jvm.hotspot.HotSpotTypeDataBase.&lt;init&gt;(HotSpotTypeDataBase.java:85)
          at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:568)
          at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:494)
          at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:332)
          at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
          at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at sun.tools.jmap.JMap.runTool(JMap.java:179)
          at sun.tools.jmap.JMap.main(JMap.java:110)
  Debugger attached successfully.
  </code></pre>
  
  <p>What can be the problem? Can it be solved without restarting the process (It is possible the bug will disappear after restarting so I want to avoid it).</p>