2013-08-22 47 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> 

然後重新啓動服務器。