3.3. Tuning the Agent JVM Memory Size

When an agent manages a large number of resources, it can begin running out of memory with the default settings of its JVM. This can cause errors like memory has crossed the threshold and is low to be recorded in the agent log, and the agent is automatically rebooted. This is usually caused by the agent's heap size being set too low, but it can also be related to a low perm gen size.
To change the agent's memory settings, use the RHQ_AGENT_JAVA_OPTS in the rhq-agent-env.sh file to set the appropriate JVM settings.
  1. Stop the agent. For example, if the agent is running as a service:
    [root@server ~]# service rhq-agent-wrapper.sh stop
  2. Open the rhq-agent-env.sh file to set the required environment variables that the agent will use.
    [root@server ~]# vim agentRoot/rhq-agent/bin/rhq-agent-env.sh
  3. Set the RHQ_AGENT_JAVA_OPTS value with the -Xms and -Xmx parameters for the minimum and maximum bounds of the heap size for the agent JVM. For example:
    RHQ_AGENT_JAVA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=256M -Djava.net.preferIPv4Stack=true"
  4. Optionally, use -XX:PermSize and -XX:MaxPermSize to set the perm gen size.
  5. Restart the agent process to load the new configuration. For example, if the agent is running as a service:
    [root@server ~]# service rhq-agent-wrapper.sh start