Docs Menu

Docs HomeMongoDB Ops Manager

Configure Ops Manager to Monitor Large Deployments

On this page

  • Allocate more RAM to Ops Manager Hosts
  • Improve Monitoring Ingestion

To monitor deployments with more than 2,000 hosts located in globally-distributed data centers, configure your Ops Manager instance with these advanced settings.

  1. Open /opt/mongodb/mms/conf/mms.conf in your preferred text editor.

  2. Find a line where the JAVA_MMS_UI_OPTS variable defines the -Xms and -Xmx parameters.

  3. Update the -Xms and -Xmx values from the default of 4352 MB to 8192 MB or more if the hosts have extra free memory.

    Note

    Don't Set Young Generation's Heap Size Explicitly Using -Xmn.

    Starting with Ops Manager 7.0, Ops Manager adopted a Garbage-First (G1) garbage collector method for the JVM. We recommend that you don't set the young generation's heap size explicitly to any fixed value using -Xmn. Setting a fixed value with -Xmn interferes with the G1 garbage collector's default behavior. If you set this value, this prevents the G1 garbage collector from expanding and contracting the young generation space as needed, which causes the collector to stop respecting the pause time value for garbage collections.

    You can set the values for Xmx and Xms to be the same, and retain the pause at its default value: -XX:MaxGCPauseMillis=200.

To learn about how to resolve this error in greater detail, see our troubleshooting entry on the OutOfMemoryError

Update app settings on all Ops Manager hosts to improve monitoring ingestion:

  1. Open /opt/mongodb/mms/conf/conf-mms.properties in your preferred text editor.

  2. Add the following properties:

    # Improved monitoring ingestion
    ingestion.thread.count=64
    ping.thread.count=32
    mms.monitoring.agentlog.writers=16
    mms.monitoring.ingestion.databasenames.poolsize=16
    mms.monitoring.ingestion.diskpartition.poolsize=16
    mms.monitoring.ingestion.groupupdate.poolsize=8
    mms.monitoring.ingestion.hostping.poolsize=32
    mms.monitoring.ingestion.hostversionchange.poolsize=8
    mms.monitoring.ingestion.ipaddresschange.poolsize=8
    mms.monitoring.ingestion.hostlogs.poolsize=16
    mms.monitoring.ingestion.newrelic.poolsize=16
    mms.monitoring.ingestion.profiler.poolsize=16
    mms.monitoring.ingestion.shardchunkcount.poolsize=16
    mms.monitoring.ingestion.totalstoragecache.poolsize=16
    mms.monitoring.rrd.rawdbperf.thread.count=16
    mms.monitoring.rrd.rawdbperf.batch.size=1000
    mms.monitoring.rrd.rawdbstorage.thread.count=16
    mms.monitoring.rrd.rawdbstorage.batch.size=1000
    mms.monitoring.rrd.rawdisk.thread.count=32
    mms.monitoring.rrd.rawdisk.batch.size=1000
    mms.monitoring.rrd.rawhost.thread.count=32
    mms.monitoring.rrd.rawhost.batch.size=1000
    mms.monitoring.rrd.rawnamespace.thread.count=16
    mms.monitoring.rrd.rawnamespace.batch.size=1000
    mms.monitoring.rrd.rawprocess.thread.count=32
    mms.monitoring.rrd.rawprocess.batch.size=1000
    mms.monitoring.rrd.rawsystem.thread.count=32
    mms.monitoring.rrd.rawsystem.batch.size=1000
  3. Save the properties file.

  4. Restart Ops Manager.

← Configure a Highly Available Ops Manager Backup Service