Agent instrumentation is disabled due to high collector memory usage

Environment

All AppMon versions

Symptoms

In the agent or status overview dashlet, agents are shown with the following status:

  • Instrumentation disabled during agent startup because of low memory on collector
  • Instrumentation disabled during agent runtime because of low memory on collector

Subsequently no PurePaths are recorded by the related agents and the collector log shows

Low heap memory (usage = xy%) - instrumentation for new agents is disabled.

Solution

In general this is due to memory usage on the collector side, so please try one or multiple of the following options:

  • Increase the heap on the collector. Therefore modify the related dtcollector.ini file and change the lines with -Xmx and -Xms from default -Xmx2G and -Xms2G for 2GB to the same increased value of eg. 3G or 4G
  • Use collector groups to distribute the load. Number of collectors within a group can also be increased

Root cause

Bytecode instrumentation for Java and .NET agents is performed on the collector, therefore resources are required. With increasing number of agents or in case of very heterogeneous monitored applications (no same instrumentation like for agents in a clustered application), a higher memory and CPU consumption can show up.