HP-UX HB v13.00 Ch-11 - Software Development

HP-UX Handbook Rev 13.00 Page 92 (of 101)
Chapter 11 Software Development
October 29, 2013
#7 0xc47a9a0c in compute_compiled_exc_handler+0x1e4 () from /opt/java1
.4/jre/lib/PA_RISC2.0/server/libjvm.sl
#8 0xc47a9698 in handle_exception_C__11OptoRuntimeSFP10JavaThread+0x14
8 () from /opt/java1.4/jre/lib/PA_RISC2.0/server/libjvm.sl
#9 0x78f18108 in ?? ()
Java Out Of Memory
Of course, for java the same rules apply as for all other processes running out of memory. But
because java is a virtual machine with its own memory management for the applications running
in it, there are a few additional things to mention here.
Normally the JVM reports a java.lang.OutOfMemoryError if it wasn’t able to allocate space
for a new object. So usually it is not difficult to tell if a JVM ran out of memory. But we have to
distinguish between different out of memory conditions:
in the java heap (application level)
in the process heap (JVM level)
could not create a new thread (JVM level)
There are a few methods to check if the java.lang.OutOfMemoryError occurred in the java
heap (for the java application). Since version 1.4.2 the hs_err_pid<PID>.log file contains some
heap statistics:
Heap at VM Abort:
Heap
def new generation total 314560K, used 314559K [63400000, 78950000,
78950000)
eden space 279616K, 100% used [63400000, 74510000, 74510000)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
from space 34944K, 99% used [74510000, 7672fff8, 76730000)
to space 34944K, 0% used [76730000, 76730000, 78950000)
tenured generation total 699072K, used 699072K [38800000, 632b0000,
632b0000)
the space 699072K, 100% used [38800000, 632b0000, 632b0000,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
632b0000)
compacting perm gen total 16384K, used 2847K [34800000, 35800000,
38800000)
the space 16384K, 17% used [34800000, 34ac7da8, 34ac7e00, 35800000)
The java heap is divided into several pieces: