memoryjvmjvm-argumentsibm-jvm

large object area of the tenure space consistently 100%


Is it an issue if "loa" is consisting 100%? There free memory in other areas. If it is an in issue what is the proper solution? gc type="scavenge"

<mem type="loa" free="*******" total="*******" percent="100" />


<gc-end id="xxxx" type="scavenge" contextid="xxxx" durationms="34.230"
  <mem-info id="xxx" free="" total="" percent="72">
    <mem type="nursery" free="" total="" percent="98" />
    <mem type="tenure" free="" total="" percent="64">
      <mem type="soa" free="" total="" percent="63" />

JVM details

java -version
java version "1.6.0"
Java(TM) SE Runtime Environment (build pxp6460_26sr8fp4ifix-20150514_01(SR8 FP4+IX90162+IV73188))
IBM J9 VM (build 2.6, JRE 1.6.0 Linux ppc64-64 Compressed References 20150512_248381 (JIT enabled, AOT enabled)
J9VM - R26_Java626_SR8_20150512_1623_B248381
JIT  - tr.r11_20150401_88894
GC   - R26_Java626_SR8_20150512_1623_B248381_CMPRSS
J9CL - 20150512_248381)
JCL  - 20150413_01

Solution

  • LOA is the Large Object Area memory type used to satisfy the large object allocation requests, which could not be satisfied in Small Object Area of tenure heap space. If the application does not allocate large objects, the LOA will continue to show 100% free in verbose gc log for few GC cycles. This is not a problem as such because GC algorithm takes care of monitoring LOA usage every gc cycle and shrinks it after few number of GC cycles in case if it is not used consistently.

    For more details on command-line options to configure LOA size, please refer: https://www.ibm.com/support/knowledgecenter/en/SSYKE2_7.0.0/com.ibm.java.lnx.70.doc/diag/understanding/mm_allocation_loa.html