Xms和Xmx是Java程序可以使用的最小和最大堆(實質上存儲對象的位置)大小。
在你的情況下,java程序是部署應用程序的WebLogic服務器。默認情況下,WebLogic服務器設置的Xms和Xmx值爲:256m和512m。
看起來您的應用程序需要超過512MB的堆內存。因此,您需要增加最大堆大小(Xmx)以避免頻繁出現OutOfMemory錯誤。
Xmx的新值可以是1024m或更多。您(或性能團隊,如果有的話)必須對您的應用程序和不同的Xmx值進行嚴格的性能,可伸縮性和可靠性測試,以確定哪些應用程序最適合。
可以在腳本級別(如果使用startWebLogic.sh/startManagedWebLogic.sh腳本啓動服務器)設置內存參數(即Xms,Xmx)。
Script級別的變化:
- 打開setDomainEnv.sh和搜索「IF USER_MEM_ARGS環境變量設置」,然後在下一行插入
USER_MEM_ARGS="-Xms256m -Xmx1024m"
- 您甚至可以從服務器更改此設置到服務器通過使用保存正在啓動的服務器的變量
SERVER_NAME
。比如有隻對非管理員服務器此設置,插入[ "${SERVER_NAME}" != "AdminServer" ] && USER_MEM_ARGS="-Xms256m -Xmx1024m"
控制檯的變化(除非你使用管理控制檯啓動管理服務器):
- 登錄AdminConsole-> Environments- >服務器 - > - >配置 - > ServerStart->參數:(文本區)。
- 請輸入:
-Xms256m -Xmx1024m
並保存。
哦,順便說一句JRockit does not有任何PermSize的概念。
感謝您的回覆,我試圖將任務控制連接到遠程服務器,但提供Xmanagement後無法連接evemn:ssl = false,authenticate = false,port = 7099 Djava.rmi.server.hostname = hostAddress(where weblogic位於)。任何想法? – Sam