【问题标题】:Java Heap Space Out of Memory wtih Websphere Admin Console使用 Websphere 管理控制台的 Java 堆空间内存不足
【发布时间】:2013-08-24 23:55:36
【问题描述】:

我无法打开 websphere application server v8.5 的管理控制台。日志报告 Java 堆空间和内存不足错误。我在网上搜索过,建议是增加 JVM 堆大小。但是,我现在应该如何做到这一点,即使管理控制台也不适合我呢?

有没有办法以某种方式释放堆空间?

【问题讨论】:

    标签: java websphere


    【解决方案1】:

    在这种情况下,您必须绕过管理控制台。如果您想这样做,只需编辑服务器的配置文件,即编辑该特定服务器的server.xml,无论是应用程序服务器进程还是部署管理器进程,具体取决于哪个进程遇到内存问题。

    编辑以下属性:

    jvmEntries debugArgs="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7777" debugMode="false" disableJIT="false" genericJvmArguments="-Xquickstart" runHProf="false" verboseModeClass="false" **initialHeapSize**="512" **maximumHeapSize**="1024" verboseModeGarbageCollection="false" verboseModeJNI="false" xmi:id="JavaVirtualMachine_1183121908656"
    

    server.xml 可以在这里找到: /*IBM_ROOT_DIR*/WebSphere/WAS85/AppServer/profiles/*MyProfile*/config/cells/*MyCell*/nodes/*MyNode*/servers/*MyServer*/server.xml

    server.xml 更新后只需重启服务器进程即可使用新的内存设置。

    【讨论】:

    • 如果重启 JVM 不能让您回到管理控制台,我只会走这条路(破解 XML)。从那里可以通过 GUI 调整内存设置。 XML hacking 应该是最后的手段。 :-)
    • 如果您之前从未自定义过这些设置,那么默认情况下它们不会显示在 server.xml 中。您可以将它们添加到jvmEntries 标记中,如上所示。
    • 即使在更新 server.xml 文件后我仍然无法启动服务器。有没有其他选择?
    【解决方案2】:

    在您的 WebSphere 安装中搜索名为 server.xml 的文件。一般这个文件的位置如下:

    <profilehome>/config/cells/<cellname>/nodes/<nodename>/servers/<servername>/server.xml
    

    选择特定于您的服务器的server.xml 并对其进行编辑以添加/修改/删除元素&lt;jvmEntries&gt; 的属性initialHeapSizema​​ximumHeapSize。这些属性的值是以 MB 为单位的堆大小。

    例如:

     <jvmEntries ... initialHeapSize="2048" maximumHeapSize="3072" ...>
     ...
     </jvmEntries>
    

    然后重启服务器。

    【讨论】:

      【解决方案3】:

      您需要重新启动 Websphere 配置文件以释放内存:

      窗户:

      cd WAS_home\profiles\profile_name\bin
      stopServer.bat server_name
      startServer.bat server_name 
      

      Unix:

      cd WAS_home/profiles/profile_name/bin
      ./stopServer.sh server_name 
      ./startServer.sh server_name
      

      之后,您可以在 WAS 管理控制台中更改适当的设置。或者,您可以在重新启动之前编辑配置文件配置文件 server.xml。 当然,您需要确定 OutOfMemeory 错误的原因。很可能是此服务器上的某些应用程序发生内存泄漏。

      【讨论】:

        猜你喜欢
        • 2021-11-20
        • 1970-01-01
        • 2021-11-22
        • 2014-05-18
        • 2020-01-23
        • 2014-01-04
        • 1970-01-01
        • 1970-01-01
        • 2014-02-11
        相关资源
        最近更新 更多