首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

WebLogic 啟動內存設置的兩種方法詳解

     編輯:Java 綜合教學

WebLogic 啟動內存設置的兩種方法詳解

WebLogic 域啟動腳本與公共環境配置文件均可調整 JVM 堆內存參數(-Xms, -Xmx, -XX:MaxPermSize 等)。本文詳細說明兩種配置方式的具體步驟與差異。

方法一:修改域啟動腳本

文件路徑:$DOMAIN_HOME/startWebLogic.sh (Linux) 或 startWebLogic.cmd (Windows)。

定位標記行

echo "***************************************************"
echo "*  To start WebLogic Server, use a username and   *"
echo "*  password assigned to an admin-level user.      *"
echo "*  For server administration, use the WebLogic    *"
echo "*  Server console at https://[hostname]:[port]/console *"
echo "***************************************************"

在其下方添加內存參數

Windows (startWebLogic.cmd):

set MEM_ARGS=-Xms512m -Xmx768m

Linux/Unix (startWebLogic.sh):

MEM_ARGS="-Xms512m -Xmx768m"

生效方式:直接修改啟動腳本環境變量,啟動時讀取。

方法二:修改公共環境配置文件

文件路徑:$WL_HOME/common/bin/commEnv.sh (Linux) 或 commEnv.cmd (Windows)。

定位 JDK 相關配置段

Windows (commEnv.cmd):

Linux/Unix (commEnv.sh):

修改對應 JDK 模式(開發模式用 client,生產模式用 server)下的 MEM_ARGS。

原理差異

  • 方法一:域級配置,僅影響當前域,優先級高於公共配置,適合單域獨立調優。
  • 方法二:全局配置,影響該 WebLogic 安裝目錄下所有域(除非域腳本覆蓋),適合統一基線設置。
  • 調用鏈:startWebLogic.cmd 中調用 call "%WL_HOME%\common\bin\commEnv.cmd",故方法二生效前提是域腳本未覆蓋 MEM_ARGS。

參數說明

驗證生效

# 查看進程啟動參數
ps -ef | grep weblogic
# 或 jcmd  VM.flags
# 或管理控制台 -> 服務器 -> 監控 -> 性能 -> 堆使用情況

最佳實踐

  1. 生產環境統一使用方法二設置基線,域級特殊需求用方法一覆蓋。
  2. -Xms 等於 -Xmx 避免堆伸縮開銷。
  3. 配合 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=... 便於 OOM 排查。
  4. JDK 8+ 關注 Metaspace 而非 PermGen。
  5. 內存設置需結合 GC 日誌(-Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps)壓測調優。

正確的內存配置是 WebLogic 穩定運行的基石,切勿使用默認值上線。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數含義建議值
-Xms初始堆大小物理內存 1/4 ~ 1/2,避免動態擴容抖動
-Xmx最大堆大小32位 JVM ≤ 1.8GB;64位 根據業務壓測確定(如 2g, 4g, 8g)
-XX:MaxPermSize永久代/元空間上限 (JDK 7/8)128m~512m,視類加載量而定;JDK 8+ 用 -XX:MaxMetaspaceSize
-Xverify:none關閉字節碼驗證,加快啟動生產環境慎用,建議保留驗證