确保Debian系统已安装与WebLogic兼容的JDK(如WebLogic 12c及以上推荐JDK 8或11)。通过以下命令安装OpenJDK 11并验证版本:
sudo apt-get update
sudo apt-get install openjdk-11-jdk
java -version # 确认输出版本符合要求
设置JAVA_HOME
环境变量(全局生效),编辑/etc/profile
或~/.bashrc
,添加:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
保存后执行source /etc/profile
使配置生效。
WebLogic的JVM参数主要通过启动脚本或域配置文件设置,其中**启动脚本(setDomainEnv.sh
)**是最常用的方式(支持动态调整且不影响域配置)。
setDomainEnv.sh
设置(推荐)bin
子目录下(如/weblogic/user_projects/domains/base_domain/bin/setDomainEnv.sh
)。cp setDomainEnv.sh setDomainEnv.sh.bak
。nano
或vim
打开,在JAVA_OPTIONS
变量中添加/修改JVM参数(示例):# 设置堆内存(初始4GB,最大4GB)
JAVA_OPTIONS="${JAVA_OPTIONS} -Xms4g -Xmx4g"
# 调整年轻代与老年代比例(年轻代占1/4,老年代占3/4)
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:NewRatio=3"
# 设置Eden区与Survivor区比例(Eden:Survivor=8:1:1)
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:SurvivorRatio=8"
# 选择G1垃圾回收器(适合高并发场景)
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:+UseG1GC"
# 设置G1最大GC停顿时间(目标200ms)
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:MaxGCPauseMillis=200"
# 开启GC详细日志(输出到指定文件)
JAVA_OPTIONS="${JAVA_OPTIONS} -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/weblogic/logs/gc.log"
# 设置线程栈大小(默认1MB,可根据应用调整)
JAVA_OPTIONS="${JAVA_OPTIONS} -Xss256k"
Ctrl+O
→Enter
→Ctrl+X
。config.xml
设置(备选)若需将JVM参数固化到域配置中,可编辑域目录下的config/config.xml
文件:
<server>
标签(如<server>["是", "base_server", "AdminServer"]</server>
),添加<JVM>
配置:<server>
<name>AdminServer</name>
<JVM>
<options>
<option>-Xms2g</option>
<option>-Xmx2g</option>
<option>-XX:+UseConcMarkSweepGC</option>
</options>
</JVM>
</server>
logs/AdminServer.log
(或对应服务器日志),确认参数已加载(如-Xms4g
、-XX:+UseG1GC
等)。http://<服务器IP>:7001/console
),导航至“环境”→“服务器”→“<服务器名称>”→“配置”→“启动”,查看“JVM参数”部分。参数 | 作用 | 示例值 |
---|---|---|
-Xms |
初始堆内存大小 | -Xms2g (2GB) |
-Xmx |
最大堆内存大小(避免超过物理内存的70%) | -Xmx4g (4GB) |
-XX:NewRatio |
年轻代与老年代的比例(如3 表示年轻代:老年代=1:3) |
-XX:NewRatio=3 |
-XX:SurvivorRatio |
Eden区与Survivor区的比例(如8 表示Eden:Survivor=8:1:1) |
-XX:SurvivorRatio=8 |
-XX:+UseG1GC |
启用G1垃圾回收器(适合大内存、低延迟场景) | -XX:+UseG1GC |
-XX:MaxGCPauseMillis |
G1垃圾回收器的最大停顿时间目标(毫秒) | -XX:MaxGCPauseMillis=200 |
-Xloggc:<路径> |
指定GC日志输出文件路径 | -Xloggc:/weblogic/logs/gc.log |
-XX:+PrintGCDetails |
打印GC详细信息 | -XX:+PrintGCDetails |
-Xss<大小> |
设置线程栈大小(默认1MB,减少可降低内存占用) | -Xss256k (256KB) |
-Xmx
可能导致Full GC时间过长,甚至OOM;建议根据服务器物理内存(如16GB内存可设置-Xms8g -Xmx12g
)。-XX:+UseG1GC
):适合大内存、低延迟应用(WebLogic 12c及以上推荐);-XX:+UseConcMarkSweepGC
):适合中等并发场景(已逐渐被G1取代);-XX:+UseParallelGC
):适合高吞吐量场景(如批处理)。jstat
、VisualVM
或WebLogic自带的监控工具(如“性能监控”模块)跟踪GC频率、堆内存使用率,根据实际情况调整参数。通过以上步骤,可在Debian系统上完成WebLogic的JVM参数设置,提升应用性能与稳定性。