我无法打开 websphere application server v8.5 的管理控制台。日志报告 Java 堆空间和内存不足错误。我在网上搜索过,建议是增加 JVM 堆大小。但是,即使管理控制台也不适合我,我现在应该如何实现呢?
有没有办法以某种方式释放堆空间?
在这种情况下,您必须绕过管理控制台。如果您想这样做,只需编辑服务器的配置文件,即编辑该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
只需重新启动服务器进程即可利用新的内存设置。
在您的 WebSphere 安装中搜索名为server.xml的文件。一般这个文件的位置如下:
<profilehome>/config/cells/<cellname>/nodes/<nodename>/servers/<servername>/server.xml
选择server.xml
特定于您的服务器并对其进行编辑以添加/修改/删除元素的属性initialHeapSize和maximumHeapSize<jvmEntries>
。这些属性的值是以 MB 为单位的堆大小。
例如:
<jvmEntries ... initialHeapSize="2048" maximumHeapSize="3072" ...>
...
</jvmEntries>
然后重新启动服务器。
您需要重新启动 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 错误的原因。这很可能是此服务器上某些应用程序中的内存泄漏。