確保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"
# 設置線程棧大?。J1MB,可根據應用調整)
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<大小> |
設置線程棧大?。J1MB,減少可降低內存占用) | -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參數設置,提升應用性能與穩定性。