Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/

主机问题

在此页面上

  • 日志显示 java.lang.OutOfMemoryError
  • 日志显示 java.lang.StackOverflowError
  • 增加用户限制
  • 确保所有组件都有足够的 RAM
  • 过时的配置设置
  • 管理控制台中的过期主机

如果日志显示java.lang.OutOfMemoryError: Java heap space ,请调整 Java 堆内存设置。

要调整 Java 堆内存设置,请对运行 Ops Manager 实例的每个主机重复以下步骤,专用备份守护程序主机除外:

  1. 在您首选的文本编辑器中打开mms.conf

  2. 找到这一行:

    JAVA_MMS_UI_OPTS="${JAVA_MMS_UI_OPTS} -Xss228k -Xmx4352m -Xms4352m -XX:NewSize=600m -Xmn1500m -XX:ReservedCodeCacheSize=128m -XX:-OmitStackTraceInFastThrow"
    默认
    -Xmx
    Java 堆最大内存
    4,352 MB ( 4352m )
    -Xms
    Java 堆起始内存
    4,352 MB ( 4352m )
    -Xmn
    Java 堆年轻代内存
    1,500 MB ( 1500m )

    警告

    请勿更改其他 Java 选项

    更改-Xmx-Xms-Xmn以外的任何选项值都可能对 Ops Manager 应用程序产生意外影响。 在未咨询 MongoDB 支持部门的情况下,请勿更改其他值。

  3. 更改-Xmx-XmsXmn值:

    • -Xmx-Xms值更改为更大的值。 应将这两个参数设置为相同的值,以消除虚拟机不断从堆中回收内存对性能造成的影响。

    • -Xmn值更改为您为-Xmx-Xms键指定值的四分之一。

    将值指定为#k|m|g :一个数字,后跟:

    • k (千字节),

    • m (兆字节),或

    • g (千兆字节)

    例子

    要将 Java 堆设置为 12 GB ,请将这些值设置为: -Xmx12g -Xms12g -Xmn3g

  4. 重新启动运行 Ops Manager 实例(在其中进行这些更改)的每台主机。

Ops Manager 安装的最佳值取决于 Ops Manager 主机的架构:平台、物理内存等。堆调整的目标是平衡JVM从不再运行的对象回收内存(也称为垃圾收集)所花费的时间和垃圾收集的频率。

  • 较大的堆意味着垃圾收集频率较低且速度较慢。

  • 较小的堆平均值更频繁、更快的垃圾collection。

重要

考虑在主机上运行的并置 MongoDB 进程,并且不要将 Java 堆大小设置为大于 Ops Manager 主机中的物理内存量的值或小于默认值4352m (4,352 MB )。

如果日志显示java.lang.StackOverflowError ,请调整 Java 堆栈内存设置。

要调整 Java 堆栈内存设置,请对运行 Ops Manager 实例的每个主机重复以下步骤,专用备份守护程序主机除外:

  1. 在您首选的文本编辑器中打开mms.conf

  2. 找到这一行:

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

    此行中的键值为:

    -Xss
    Java 堆栈大小

    默认情况下,此值设置为 228 KB ( 228k )。

    警告

    请勿更改其他 Java 选项

    更改-Xss以外的任何选项值都可能对 Ops Manager 应用程序产生影响。在未咨询 MongoDB 支持部门的情况下,请勿更改其他值。

  3. -Xss228k更改为-Xss1m (1 MB )。

重要

考虑在主机上运行的并置 MongoDB 进程,并且不要将 Java 堆栈大小设置为大于 Ops Manager 主机中的物理内存量的值或小于默认值228k (228 KB )。

有关建议的用户限制 (ulimit ) 设置,请参阅有关 收到“主机打开文件限制下限”或“打开文件过多”错误消息 的 常见问题解答 。

MongoDB Ops Manager使用可用连接和当前连接的总数来推断主机的 ulimit 设置。 要了解有关 MongoDB 中ulimit的更多信息,请参阅 MongoDB 手册中的 UNIX ulimit 设置参考页面。

确保每台服务器都有足够的 RAM 用于其运行的组件。 如果服务器运行多个组件,则其 RAM 必须至少是每个组件所需 RAM 容量的总和。

要了解 Ops Manager 应用程序服务器、Ops Manager 应用程序数据库、备份守护程序服务器和备份数据库的各个 RAM 要求,请参阅Ops Manager 系统要求。

如果在conf-mms.属性文件中设置了过时的配置设置,Ops Manager 将无法启动。如果存在过时的设置,日志会列出 Obsolete Setting错误,如下所示:

警告

[已过时的设置] 删除mms.multiFactorAuth.require或将mms.multiFactorAuth.require替换为mms.multiFactorAuth.level

您需要删除或替换conf-mms.properties文件中过时的属性,然后才能启动 Ops Manager。

Admin Console概览页面显示为 Ops Manager 提供服务的主机。 每个主机都应响应 Ops Manager 作为监控一部分发送的定期网络探测(ping)。

Ops Manager 将 30 分钟后未响应网络探测(ping)的主机标记为已过期。过期主机上的进程显示为红色。 当受监控主机的主机名发生更改时,Ops Manager 会两次列出该主机:一次是当前主机名,另一次是以前的主机名。主机名由于以下两个原因之一而更改:

当受监控主机的主机名发生更改时,就会出现这种情况。 主机名由于以下两个原因之一而更改:

  • 云服务提供商返回同一主机的外部主机名,而不是内部主机名。

  • 用户可能已更改主机上的主机名。

要删除过期主机,请执行以下操作:

  1. 将鼠标悬停在Overview页面的 Servers(服务器)标签页中的进程上。

  2. 单击图标。

该主机使用其新主机名保留在主机列表中。

后退

升级问题