1 Reply Latest reply on Feb 11, 2010 12:19 PM by 843829

    JVM crashes when eden space is 100% but there is more available memory

      I have a production system with a JBoss application server running on JDK 1.5.0_15-b04 and Redhat Linux.
      Every now and then, the server crashes and a dump file created by the JVM has consistent results:

      PSYoungGen total 164224K, used 164223K [0xa2e80000, 0xad7f0000, 0xb1200000)
      eden space 158272K, 100% used [0xa2e80000,0xac910000,0xac910000)
      from space 5952K, 99% used [0xacb00000,0xad0cffb8,0xad0d0000)
      to space 7296K, 33% used [0xad0d0000,0xad33bde0,0xad7f0000)
      PSOldGen total 747904K, used 472772K [0x31200000, 0x5ec60000, 0xa2e80000)
      object space 747904K, 63% used [0x31200000,0x4dfb1100,0x5ec60000)
      PSPermGen total 131072K, used 58251K [0x29200000, 0x31200000, 0x31200000)
      object space 131072K, 44% used [0x29200000,0x2cae2d98,0x31200000)

      It seems that the partition on the heap reserved for young objects (eden space) is all used up.
      However, the settings for the JVM are:
      -Dprogram.name=run.sh -XX:PermSize=128m -XX:MaxPermSize=128m -XX:-HeapDumpOnOutOfMemoryError -Xms512m -Xmx2048m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true -Djava.endorsed.dirs=/var/lib/jbossas/lib/endorsed

      So it seems to me like 2GB are enough and there is more memory that can be used, so there shouldn't be any problem.
      Am I missing something?