如果遇到与交换空间大小有关的 Java 异常,则可能需要调整一些可调内核参数。
使用以下步骤确定要调整的参数:
检查 HP SIM 日志文件 (/var/opt/mx/logs/initconfig.log),查找可能会在 mxinitconfig 命令运行期间报告的错误。如果该日志文件包含有关可调内核参数设置的警告,则按照日志中的推荐调整这些参数。
减小 maxssiz。此参数控制堆栈的最大大小。如果将其值设置过大,则 HP SIM 所需的动态内存会不足。
在 HP SIM 运行时,在 CMS 上输入以下命令可以检查 HP SIM 是否已达到交换空间的限制:
# swapinfo -tam
确保未设置 ulimit -d,该设置比 maxdsiz 内核参数的值的限制性更大。
在某些情况下,CMS 上的 Java Run-Time Environment (JRE) 可能所需的永久性生成内存空间(PermGen 内存)不足。以下是该问题的现象:
遇到一个 Java 异常,显示以下信息:
Runtime Error in generating [a screen object] Exception: java.lang.OutOfMemoryError: PermGen space. Cause: null. Message: PermGen space.
无法登录或访问 HP SIM Web 门户,上面显示的错误消息出现在日志文件 /var/opt/mx/logs/mxdomainmgr.pid.out(其中,pid 是当前正在运行的 mxdomainmgr 进程的进程 ID)中。
在执行 Java Servlet 页面 (JSP) 时极有能出现此异常。
可使用下列步骤解决此问题。
验证正在运行的是否为 HP SIM C.05.00.02.00.08 或更高版本。如果不是,则必须升级至该版本的 HP SIM,然后再按照下列步骤中的说明进行配置。要显示 HP SIM 版本信息,请在 CMS 上输入以下命令:
# /opt/mx/bin/mxversion
在 CMS 上编辑属性文件 /etc/opt/mx/config/globalsettings.props。
搜索 MX_JVM_OPTS 属性。如果存在此属性的条目,则修改它的值使其包含以下文本:
-XX:MaxPermSize=96m
如果不存在此属性的条目,则在文件中创建以下条目:
MX_JVM_OPTS = -XX:MaxPermSize=96m
使用下列命令重新启动 HP SIM:
# /opt/mx/bin/mxstop # /opt/mx/bin/mxstart
如果再次出现该问题,则可能需要使用大于 96 MB 的值。例如:
-XX:MaxPermSize=128m