優化WebLogic
一、為WebLogic啟動設置Java參數
垃圾收集(GC)是指JVM釋放Java堆中不再使用的對象所占用的內存的過程,而Java堆(Heap)是
指Java應用程序對象生存的空間。堆大小決定了GC的頻度和時間。堆越大,GC頻度低,速度慢。堆越小,GC頻度高,速度快。所以GC和堆大小是一組矛盾。為了獲取理想的Heap堆大小,需要使
用-verbosegc參數(Sun jdk: -Xloggc:
合應用最大負載所需內存情況,得出堆的大小。
通常情況下,我們建議使用可用內存(除操作系統和其他應用程序占用之外的內存)70-80%,為避
免堆大小調整引起的開銷,設置內存堆的最小值等于最大值即:-Xms=-Xmx。而為了防止內存溢出,建議在生產環境堆大小至少為256M(Platform 至少512M),實際環境中512M~1G 左右性能最
佳,2G 以上是不可取的,在調整內存時可能需要調整核心參數進程的允許最大內存數。對于sun
和hp的jvm,永久域太小(默認4M)也可能造成內存溢出,應增加參-XX:MaxPermSize=128m。建
議設置臨時域-Xmn的大小為-Xmx的1/4~1/3, SurvivorRatio為8
堆棧內存優化,修改配置文件:
WL_HOME=C:\bea\weblogic81 "%WL_HOME%\common\bin\commEnv.cmd"
:bea #如果采用的上bea的JDK
# JVM Heap(堆內存)最小尺寸為96M,最大尺寸為256M
set MEM_ARGS=-Xms96m -Xmx256m
:sun #如果采用的是sun的JDK
# JVM Heap(堆內存)最小尺寸為32M,最大尺寸為200M
#公共變量對象的內存限制: PermSize:最小尺寸,MaxPermSize :最大允許分配尺寸
set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m
監視堆棧使用情況:
下載JRockit JDK,該JDK已經自帶了JRockit Mission Control工具,目前好像還沒有單獨下載JRockit Mission Control的地方,于JRoc kit JDK進行了綁定下載;
在C:\bea\jrockit81sp5_142_08\console目錄里面運行:
C:\bea\jrockit81sp5_142_08\bin\java –Xmanagement -jar ManagementConsole.jarC:\bea\jrockit81sp5_142_08\bin\java –Xmanagement -jar ManagementConsole.jar
如何監控weblogic呢?
修改weblogic啟動腳本st artWebLo gi c.cmd,在里面加入-Xmanagement啟動參數:
%JA VA_HOME%\bin\java -Xmanagement %JA VA_VM% %MEM_ARGS% %JA VA_OPTIONS% http://www.bbcep.co/doc/375e8bdca58da0116c174972.html =%
SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE%
-Djava.security.policy="%
WL_HOME%\server\lib\weblogic.policy" weblogic.Server