12

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

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

4

3 回答 3

23

在这种情况下,您必须绕过管理控制台。如果您想这样做,只需编辑服务器的配置文件,即编辑该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只需重新启动服务器进程即可利用新的内存设置。

于 2013-08-22T10:25:58.897 回答
3

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

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

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

例如:

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

然后重新启动服务器。

于 2015-02-26T08:23:34.833 回答
1

您需要重新启动 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 错误的原因。这很可能是此服务器上某些应用程序中的内存泄漏。

于 2013-08-22T10:48:58.277 回答