3.4. Changing the Agent JVM Health Check Settings
One of the more common issues to have with the agent is out of memory errors. Sizing the agent JVM heap is difficult. The agent cannot over-consume system resources or it can affect overall system performance, yet it must have enough memory available to perform intensive tasks like metrics collection and drift monitoring.
The JVM health check periodically scans the JVM and checks its memory thresholds. If the available memory falls below a specified point, then the JVM process is restarted. This can help prevent the agent from running out of memory and shutting down in an unknown state.
Note
The JVM health check is beneficial, but it is not infallible. It is possible in some situations for the memory to be exhausted faster than the scan interval.
There are three parameters for the agent health check:
- The scan interval, rhq.agent.vm-health-check.interval-msecs
- The heap threshold, rhq.agent.vm-health-check.low-heap-mem-threshold
- The non-heap memory threshold, rhq.agent.vm-health-check.low-nonheap-mem-threshold
To change the health check settings:
- Open the agent prompt. Use the
-n
option to open the prompt without[root@server ~]# agentRoot/rhq-agent/bin/rhq-agent.sh -n
- Send the setconfig with the name of the preference to edit and its new value.
> setconfig rhq.agent.vm-health-check.interval-msecs=3000 Set preference: rhq.agent.vm-health-check.interval-msecs=3000 > setconfig rhq.agent.vm-health-check.low-heap-mem-threshold=1.1 Set preference: rhq.agent.vm-health-check.low-heap-mem-threshold=1.1 > setconfig rhq.agent.vm-health-check.low-nonheap-mem-threshold=1.1 Set preference: rhq.agent.vm-health-check.low-nonheap-mem-threshold=1.1
- Restart the agent process to load the new configuration.
[root@server ~]# serverRoot/jon-server-3.3.0.GA/bin/rhqctl start --agent