I was wondering what version of Java was used to write/compile the Agent.jar file for CA-APM, also what versions of java is CA-APM compatible with? My java version 1.7.80, which is old and the Weblogic JVM’s are seemingly getting a memory leak or some kind of memory fragmentation when the Agent.jar is deployed.
Release : 10.7.0
Component : APM Agents
Upgrade From the error log:
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 5408 bytes for CodeCache: no room for vtable chunks
So JVM attempted to native memory allocation (malloc) for CodeCache but largest_free_block in Code Cache was smaller than the size Java VM tried to malloc:
Code Cache [0xffffffff75000000, 0xffffffff79000000, 0xffffffff79000000)
total_blobs=13193 nmethods=3341 adapters=853 free_code_cache=1641Kb largest_free_block=5440
Seems they might have hit some JVM bugs which have been fixed in later release:
https://access.redhat.com/solutions/676123
Customer tried the workaround suggested for to increase code cache size (-XX:ReservedCodeCacheSize=64M), Increase it to further to 128M if issue persists.
Customer decided to upgrade Java release first. Then increase code cache size if needed.
APM compiles APM 10.7 Agent using java 1.8, but the jar can run under java 1.7, or even 1.6. (listed in the Compatibility Guide).