Docs Menu
Docs Home
/
MongoDB Ops Manager
/

Host Issues

On this page

  • Logs Display java.lang.OutOfMemoryError
  • Logs Display java.lang.StackOverflowError
  • Increase User Limits
  • Ensure Sufficient RAM for All Components
  • Obsolete Config Settings
  • Expired Hosts in Admin Console

If your logs display java.lang.OutOfMemoryError: Java heap space, adjust the Java Heap memory settings.

To adjust the Java Heap memory settings, repeat the following steps for every host running an Ops Manager instance except dedicated Backup Daemon hosts:

  1. Open mms.conf in your preferred text editor.

  2. Find this line:

    JAVA_MMS_UI_OPTS="${JAVA_MMS_UI_OPTS} -Xss228k -Xmx4352m -Xms4352m -XX:NewSize=600m -Xmn1500m -XX:ReservedCodeCacheSize=128m -XX:-OmitStackTraceInFastThrow"
    Key
    Value
    Default
    -Xmx
    Java Heap Maximum Memory
    4,352 MB (4352m)
    -Xms
    Java Heap Starting Memory
    4,352 MB (4352m)
    -Xmn
    Java Heap Young Generation Memory
    1,500 MB (1500m)

    Warning

    Do not change other Java options

    Changing any option values other than -Xmx and -Xms could have an unexpected impact on the Ops Manager Application. Do not change other values without consulting MongoDB Support. Starting with Ops Manager 7.0, Ops Manager adopted a Garbage-First Garbage Collector (G1GC) method for the JVM. Don't use -Xmn to set the size of the heap for the young generation.

  3. Change the -Xmx and -Xms values:

    • Change the -Xmx and -Xms values to a larger value. You should set both parameters to the same value to remove any performance impact from the VM constantly reclaiming memory from the heap.

    Specify the values as #k|m|g: a number followed by:

    • k (kilobytes),

    • m (megabytes), or

    • g (gigabytes)

    Example

    To set the Java Heap to 12 GB, set the values to: -Xmx12g -Xms12g.

  4. Restart each host running an Ops Manager instance on which you made these changes.

The optimal value for your Ops Manager installation depends upon your Ops Manager hosts' architecture: platform, physical memory, etc. The goal of heap tuning is to balance the time the JVM spends reclaiming memory from objects that are no longer running, also known as garbage collection, and the frequency of garbage collection.

  • Large heap sizes mean less frequent and slower garbage collection.

  • Small heap sizes mean more frequent and faster garbage collection.

Important

Consider the co-located MongoDB processes running on the host and do not set your Java Heap size to a value greater than the amount of physical memory in the Ops Manager host or less than the default value of 4352m (4,352 MB).

If your logs display java.lang.StackOverflowError, adjust the Java stack memory settings.

To adjust the Java stack memory settings, repeat the following steps for every host running an Ops Manager instance except dedicated Backup Daemon hosts:

  1. Open mms.conf in your preferred text editor.

  2. Find this line:

    JAVA_MMS_UI_OPTS="${JAVA_MMS_UI_OPTS} -Xss228k -Xmx4352m -Xms4352m -XX:NewSize=600m -Xmn1500m -XX:ReservedCodeCacheSize=128m -XX:-OmitStackTraceInFastThrow"

    The key values in this line are:

    Key
    Value
    -Xss
    Java Stack Size

    By default, this value is set to 228 KB (228k).

    Warning

    Do not change other Java options

    Changing any option value other than -Xss could have an unexpected impact on the Ops Manager Application. Do not change other values without consulting MongoDB Support.

  3. Change -Xss228k to -Xss1m (1 MB).

Important

Consider the co-located MongoDB processes running on the host and do not set your Java stack size to a value greater than the amount of physical memory in the Ops Manager host or less than the default value of 228k (228 KB).

For the recommended User Limit (ulimit) setting, see the FAQ on Receive "Host has low open file limits" or "Too many open files" error messages.

Ops Manager infers the host's ulimit setting using the total number of available and current connections. To learn more about ulimit in MongoDB, see the UNIX ulimit Settings reference page in the MongoDB manual.

Ensure that each server has enough RAM for the components it runs. If a server runs multiple components, its RAM must be at least the sum of the required amount of RAM for each component.

To learn about the individual RAM requirements for the Ops Manager Application server, Ops Manager Application Database, Backup Daemon server, and Backup Database, see Ops Manager System Requirements.

Ops Manager fails to start if there are obsolete configuration settings set in the conf-mms.properties file. If there is an obsolete setting, the log lists an Obsolete Setting error as in the following:

Warning

[OBSOLETE SETTING] Remove mms.multiFactorAuth.require or replace mms.multiFactorAuth.require with mms.multiFactorAuth.level.

You will need to remove or replace the obsolete property in the conf-mms.properties file before you can start Ops Manager.

The Overview page of the Admin Console displays the hosts that serve Ops Manager. Each host should respond to regular pings that Ops Manager sends as part of monitoring.

Ops Manager marks a host that doesn't respond to pings after 30 minutes as expired. Processes on an expired host display in red. When the hostname for a monitored host changes, Ops Manager lists the host twice: once with its current hostname and once with its prior hostname. The hostname changes for one of two reasons:

This occurs when the hostname for a monitored host changes. The hostname changes for one of two reasons:

  • A cloud service provider returns an external hostname instead of an internal hostname for the same host.

  • A user may have changed the hostname on the host.

To remove the expired host:

  1. Hover over the process in Servers tab of the Overview page.

  2. Click the icon that displays.

The host remains in the host list using its new hostname.

Back

Upgrade Issues

Next

Backup