Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6189556

jmap -heap:format=b throws OOM - doesn't scale

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 6
    • 6
    • core-svc
    • None
    • b14
    • generic
    • generic

      jmap -heap:format=b <pid> doesn't scale - if the target VM has a large heap (even 128MB) then jmap can throw an OOM. Attached is a sample stack trace.

      This bug is submitted with a view to re-examining the use of the ByteArrayOutputStream - it might be better to use a temporary file as the size of the target VM's heap isn't known in advance and could be very large.


      > Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
      > at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:70)
      > at java.io.DataOutputStream.writeInt(DataOutputStream.java:182)
      > at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectID(HeapHprofBinWriter.java:661)
      > at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeInternalReferenceField(HeapHprofBinWriter.java:464)
      > at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$2.doOop(AbstractHeapGraphWriter.java:155)
      > at sun.jvm.hotspot.oops.ObjArray.iterateFields(ObjArray.java:55)
      > at sun.jvm.hotspot.oops.Oop.iterate(Oop.java:112)
      > at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.writeObjectFields(AbstractHeapGraphWriter.java:146)
      > at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeObjectArray(HeapHprofBinWriter.java:459)
      > at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$1.doObj(AbstractHeapGraphWriter.java:53)
      > at sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions(ObjectHeap.java:415)
      > at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:231)
      > at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write(AbstractHeapGraphWriter.java:34)
      > at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:349)
      > at sun.jvm.hotspot.tools.JMap.writeHeapHprofBin(JMap.java:134)
      > at sun.jvm.hotspot.tools.JMap.run(JMap.java:71)
      > at sun.jvm.hotspot.tools.Tool.start(Tool.java:204)
      > at sun.jvm.hotspot.tools.JMap.main(JMap.java:126)
      ###@###.### 11/2/04 17:58 GMT

            sundar Sundararajan Athijegannathan
            alanb Alan Bateman
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: