We have Jboss EAP 5 instances running on linux VMs and the OS Memory is 10GB each. java version "1.6.0_20".
JBoss is configured to use 4 GB of Heap but the memory footprint for Java process is significantly higher than the jvm heap. The Java process memory usage goes up slowly and it never comes down.
We have analyzed the heap dump and don't see any issue other than the one below: "85,059 instances of "org.jboss.virtual.plugins.context.zip.CertificateReaderInputStream", loaded by "org.jboss.bootstrap.NoAnnotationURLClassLoader @ 0x6e8000b50" occupy 452.29 MB (34.22%) bytes."
Also, from GC logs, the Heap is not full and only taking up to ~2.5 GB, so not even close to the 4 GB of memory. Looks like native memory leak but how to debug and identify the objects/code piece which creates this issue
Below is the jboss config:
-Dsun.rmi.dgc.client.gcInterval=3600000
-XX:+PrintClassHistogram
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:-DisableExplicitGC
-XX:-RelaxAccessControlCheck
-XX:CMSInitiatingOccupancyFraction=80
-XX:LargePageSizeInBytes=5m
-XX:MaxNewSize=128m
-XX:MaxPermSize=512m
-XX:MaxTenuringThreshold=0
-XX:NewSize=128m
-XX:ParallelGCThreads=10
-XX:SurvivorRatio=8
-XX:TargetSurvivorRatio=90
-XX:ThreadStackSize=1024
-Xloggc:/opt/www/logs/jboss/garbagecollector.log
-Xms4096m
-Xmx4096m
-javaagent:/opt/appdynamics/Appagent/javaagent.jar