在CentOS上配置WebLogic的JVM参数,需先定位域的启动脚本。通常路径为:
/path/to/weblogic/domain/bin/startWebLogic.sh
(AdminServer)或/path/to/weblogic/domain/bin/startManagedWebLogic.sh
(受管服务器)。
注意:修改前务必备份原脚本(如cp startWebLogic.sh startWebLogic.sh.bak
),避免配置错误导致无法启动。
打开startWebLogic.sh
,找到设置JAVA_OPTIONS
或MEM_ARGS
的行(通常在脚本中段),在其下方添加自定义JVM参数。常见参数及示例如下:
-Xms
:初始堆内存大小(如-Xms2g
,表示初始分配2GB);-Xmx
:最大堆内存大小(如-Xmx4g
,表示最大不超过4GB)。-Xms
和-Xmx
设为相同值,避免堆内存动态调整带来的性能损耗(如-Xms4g -Xmx4g
)。Java 8及以上版本用**元空间(Metaspace)**替代永久代,需设置:
-XX:MetaspaceSize
:初始元空间大小(如-XX:MetaspaceSize=512m
);-XX:MaxMetaspaceSize
:最大元空间大小(如-XX:MaxMetaspaceSize=1g
)。-XX:NewRatio
:新生代与老年代的比例(如-XX:NewRatio=3
,表示新生代占堆的1/4,老年代占3/4)。-XX:NewRatio=2
)。-XX:SurvivorRatio
:Eden区与单个Survivor区的比例(如-XX:SurvivorRatio=8
,表示Eden区占新生代的8/10,每个Survivor区占1/10)。-XX:SurvivorRatio=6
)。根据应用需求选择合适的垃圾回收器:
-XX:+UseG1GC
;-XX:+UseConcMarkSweepGC
;-XX:+UseParallelGC
。-XX:+UseG1GC
)。-XX:ParallelGCThreads
:GC线程数(如-XX:ParallelGCThreads=8
,建议设为CPU核心数的1/2~1倍)。Ctrl+O
保存,Ctrl+X
退出(vim编辑器)。./stopWebLogic.sh
停止服务器,再执行./startWebLogic.sh
启动,观察启动日志确认参数生效(日志路径通常为/path/to/weblogic/domain/servers/AdminServer/logs/AdminServer.log
)。jinfo -flags <PID>
命令(<PID>
为WebLogic进程ID,可通过ps -ef | grep weblogic
获取),检查JVM参数是否包含配置的项。jstat -gcutil <PID> 1000
命令(每秒刷新一次),监控GC频率、停顿时间等指标,若Full GC频繁,需调整堆大小或GC策略。jmap -heap <PID>
命令查看堆内存各区域使用情况,或用VisualVM
、JConsole
等工具可视化监控。通过以上步骤,可在CentOS上完成WebLogic的JVM参数配置。需根据应用特性(如内存占用、并发量、GC需求)灵活调整,持续监控优化。