Windows下的weblogic部署web專案執行比較慢或記憶體溢位,需要調整記憶體大小

xianjie0318發表於2017-09-07

一:WebLogic配置問題:
 由於WebLogic的配置問題,我們的測試出現了失敗情況。原因是為WebLogic分配的記憶體太少了。通過修改commom/bin/commEnv.cmd檔案來增加記憶體分配。
 修改的部分如下:
:bea
if "%PRODUCTION_MODE%" == "true" goto bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:bea_prod_mode
set JAVA_VM=-jrockit
set MEM_ARGS=-Xms768m -Xmx1024m//原來是128M~256M,太小了,資料太大
goto continue

 結果修改後,沒有效果。還是有失敗的情況。
 發現,原來,在:bea下面還有一段配置資訊如下:

:sun
if "%PRODUCTION_MODE%" == "true" goto sun_prod_mode
set JAVA_VM=-client
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
set JAVA_OPTIONS=%JAVA_OPTIONS% -Xverify:none
goto continue
:sun_prod_mode
set JAVA_VM=-server
set MEM_ARGS=-Xms768m -Xmx1024m -XX:MaxPermSize=256m
goto continue


 將這裡的記憶體分配修改後見效。
 原因是,上面對第一段程式碼是為bea自己的JVM設定的,下面的是為Sun的設定的。而WebLogic預設的是Sun的,所以出了毛病。

二,domain中的相關配置:

  1,修改bea/user_projects/domains/base_domain/bin/setDomainEnv.cmd檔案.

  2,修改如下幾個位置:以下藍色部分是需修改的記憶體大小

     set MEM_ARGS=-Xms256m -Xmx512m   @最主要將這兩個值改大,這是此域啟動後,虛擬機器可使用的記憶體

     if "%JAVA_VENDOR%"=="Sun" (           @使用sun伺服器開發模式下的JVM配置
         if "%PRODUCTION_MODE%"=="" (
              set MEM_DEV_ARGS=-XX:CompileThreshold=8000 -XX:PermSize=48
          )
      )

    if "%JAVA_VENDOR%"=="Sun" (            @使用sun伺服器生產模式下的JVM配置
           set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% -XX:MaxPermSize=128m
    )

   if "%JAVA_VENDOR%"=="HP" (               @使用hp伺服器生產模式下的JVM配置
        set MEM_ARGS=%MEM_ARGS% -XX:MaxPermSize=128m
   )

相關文章