Agent could be causing JVM’s memory leak

book

Article ID: 192507

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) CA Application Performance Management (APM / Wily / Introscope) INTROSCOPE DX Application Performance Management

Issue/Introduction

 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.

Environment

Release : 10.7.0

Component : APM Agents

Resolution

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.

Additional Information

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).