2013-08-22 48 views
8

我无法打开的WebSphere Application Server V8.5的管理控制台。日志报告Java堆空间和内存不足错误。我在网上搜索,并且建议增加JVM堆大小。但是即使管理控制台不适合我,我现在应该如何实现这一目标?Java堆空间内存的wtih WebSphere管理控制台

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

回答

18

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

编辑以下属性:

jvmEntries debugArgs = “ - agentlib:JDWP =交通= dt_socket,服务器= Y,暂停= N,地址= 7777” debugMode = “假” disableJIT = “假” genericJvmArguments = “-Xquickstart” runHProf = “假” verboseModeClass = “假” initialHeapSize = “512” maximumHeapSize = “1024” verboseModeGarbageCollection = “假” verboseModeJNI = “假” XMI:ID = “JavaVirtualMachine_1183121908656”

的server.xml可以在这里找到: /* IBM_ROOT_DIR */WebSphere/WAS85/AppServer/profiles/我的资料 /配置/电池/ 了myCell /节点/ MYNODE /服务器/ 的MyServer /server.xml

在server.xml的更新后,只需重新启动服务器进程,以利用新的内存设置。

+2

如果重新启动JVM不会让您回到管理控制台,我只会走这条路线(黑客入侵XML)。从那里可以通过GUI调整内存设置。 XML黑客应该是最后的手段。 :-) – Nizzo

+0

感谢它为我工作:-) –

+1

如果您从未在默认情况下自定义这些设置,它们将不会显示在_server.xml_中。您可以将它们添加到'jvmEntries'标记中,如上所示。 – javaPlease42

1

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

的Windows:

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错误的原因。这个服务器上的某些应用程序很可能是内存泄漏。

1

搜索文件在WebSphere安装名为server.xml中。一般情况下,该文件的位置如下:

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

选择server.xml具体到你的服务器和编辑它以添加/修改/删除属性的元素<jvmEntries>initialHeapSizemaximumHeapSize。这些属性的值是以MB为单位的堆大小。

例如:

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

然后重新启动服务器。