high memory usage from Java probes such as jdbc_response
search cancel

high memory usage from Java probes such as jdbc_response

book

Article ID: 246278

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM)

Issue/Introduction

It seems that the jdbc_response probe (or other Java-based probe) is using a lot of virtual memory. Is there a way that I can control the amount of memory that is used by the probe?

Environment

Release : All supported versions
Component : UIM JDBC RESPONSE 1.27.0
jave_jre

Cause

normal Java behavior

Resolution

The following information focuses on the jdbc_response probe, but is generally applicable to all Java-based probes, although the details may vary based on the individual probe.

Java, by default, allocates virtual memory in Linux based on various JVM default settings, which can result in a large amount of VIRT space being used.

Strictly speaking, this does not mean the probe is actually using this much memory - it can be thought of as memory the probe has indicated that it "might" or "wants to" use.   It is allocated only in virtual address space; it does not actually use disk space or memory space on the system.

Most java probes have some way to configure the heap space -- look for java_mem_max or -Xmxx configuration keys, usually located in a probe .cfg file in the startup->opt section or sometimes contained in a key called java_opts.

For the jdbc_response probe, this is not included by default, but can be added as follows:

1. Raw configure the probe in IM or AC.
2. Create a new section called 'startup' at the root
3. Create a new section called 'opt' under startup
4. Create a new key/value pair under opt:

name = java_mem_max 
value = -Xmx4g

name = java_mem_init 
value = -Xms2g

5. Save the options

Note:  This will reduce the amount of VIRT memory used by the probe, but it will not be a 1:1 correlation, for example if you set the java_mem_max to 512mb you may still see 2G of VIRT space used.   Again, this is not actually something to be concerned about and the above settings are given only as a guide -- in the vast majority of cases we would recommend to leave this alone.

Additional Information

The following links contain more information about Java memory handling in Linux:

https://www.linuxquestions.org/questions/linux-kernel-70/virt-memory-jumps-by-64m-900398/

https://stackoverflow.com/questions/561245/virtual-memory-usage-from-java-under-linux-too-much-memory-used

These and other links may contain additional Java options which can be used as "tweaks" but Broadcom does not endorse the use of these options, as the impact on probe operations is unknown.