關於weblogic pool 一錯誤除錯
說明weblogic連線池滿了,增加連線數量.
將weblogic中Maximum Capacity:設定大一些就可了.
最佳化:
http://reloadbug.blog.163.com/blog/static/54211420200821422637732/
Weblogic設定
一、中文問題如果作業系統不支援中文,應首先使作業系統支援中文。
(1)weblogic修改startweblogic.sh(startweblogic.cmd)中啟動server的命令,重新設定虛擬機器引數
新增-Ddefault.client.encoding=GBK
-Dfile.encoding=GBK
-Duser.language=Zh
-Duser.region=CN
具體如下:%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS%
%JAVA_OPTIONS% -Ddefault.client.encoding=GBK -Dfile.encoding=GBK
-Duser.language=Zh -Duser.region=CN-Dweblogic.Name=%SERVER_NAME%
-Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE%
-Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy";
weblogic.Server
(2)websphere修改應用程式伺服器
新增-Ddefault.client.encoding=GBK
-Dfile.encoding=GBK -Duser.language=Zh
-Duser.region=CN
=======================================================================
二、記憶體調優透過分析執行日誌,
WebLogic用了一段時間之後,偶爾總是會出現OutOfMemory,這對測試環境來說,還只要Restart
Server 就可以解決,但是在正式環境上出現可就麻煩大了,因為一Restart Server
所有User就都無法使用系統,所以MEM_ARGS這個引數的設定就很重要。
Weblogic
MEM_ARGS="-Xms768m -Xmx768m -XX:NewSize=256m -XX:MaxNewSize=256m
-XX:MaxPermSize=384m -XX:PermSize=384m -XX:SurvivorRatio=6
-XX:+DisableExplicitGC"
提示:以上記得要寫成一行。
Heap Size設定
-Xms 設定一開始的Heap
Size。
-Xmx 設定Heap Size的最大值 (最好是不是超過實體記憶體的80%)。
-XX:NewSize 調整JVM的Young
Generation的size大小。
-XX:MaxNewSize 調整JVM的Young Generation的size的最大值。
-Xmn
Young Generation的size,NewSize 和 MaxNewSize設定為一樣。
-XX:NewRatio 控制Young
generation的比例,如-XX:NewRatio=3表示Young generation與Old generation的比例為1:3,即Young
generation佔1/4,Old generation佔3/4。
Young
generation又被分成三部分,第一部分Eden,用於生成新的Object。另外兩個部分為Survivor空間,當Eden用完後,會將Objects復製到"SS1",當SS1空間滿了的時候,再被複製到"SS2",Objects會在Survivor空間不斷的被複製,直到他滿足條件進入Old
generation止。
提示:如果將Heap Size設的越大,GC的週期就會拉長,而且每次GC的時間也會越長。
PermGen
space
-XX:PermSize 這一部分是用於存放Class和Meta的訊息,Class在被 Load的時候被放入PermGen
space區域,它和和存放Instance的Heap區域不同,GC(Garbage Collection)不會在主程式執行期間對PermGen
space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現PermGen space錯誤。這種錯誤常見在web伺服器對JSP進行pre
compile的時候。
整個記憶體配置會像這樣
-XX:+DisableExplicitGC
加了這個引數會停止掉WLS或是程式內直接呼叫GC,減少不必要的GC,將GC交由JVM去執行。
Garbage
Collection描述:
Garbage Collection分多種等級,0級就是全部的垃圾回收(Full GC),會回收Old
generation中的垃圾;1級或以上為部分垃圾回收,只會回收Young中的垃圾,會發生OutOfMemory通常是產生於Old
generation或Perm段垃圾回收後,仍然沒有記憶體空間來存放新的Java 物件的情況。
當一個URL被訪問時,記憶體的配置過程如下:
A.
JVM會試圖為Java的相關物件在Eden中初始化一塊記憶體空間
B. 當Eden空間足夠時,記憶體配置結束。否則到下一步
C.
JVM會試圖釋放在Eden中所有不活躍的物件(這是屬於1或更高階的垃圾回收);釋放後若Eden空間仍然不足以放入新物件,則會試圖將部分Eden中活躍的物件放入Survivor區/OLD區
D.
Survivor區被用來作為Eden及OLD的中間交換區域,當OLD區空間足夠,Survivor區的物件會被移到Old區,否則被保留在Survivor區
E.
當OLD區空間不足時,JVM會在OLD區進行完全的垃圾收集(0級)
F.
完全垃圾收集後,若Survivor及OLD區仍然無法存放從Eden復製過來的部分物件,就會導致JVM無法在Eden區為新的物件配置出記憶體區塊,產生"out
of memory的錯誤"
以我的設定為例:
MEM_ARGS="-Xms768m -Xmx768m -XX:NewSize=256m
-XX:MaxNewSize=256m -XX:MaxPermSize=384m -XX:PermSize=384m -XX:SurvivorRatio=6
-XX:+DisableExplicitGC"
在上面的例子中:
YOUNG+OLD: 768M
YOUNG: 256M
Perm:
384M
Eden: YOUNG*6/(6+1+1)=192M
Survivor: YOUNG*1/(6+1+1)=32M
Heap
Size: YOUNG+OLD+Perm=1024M
========================================================================
三、連線池的最佳化可以參照同一時間連線資料庫的使用者數量,進行設定,資料庫的最大連線數不能小於高峰時期同一時間連線使用者的數量。
(1)weblogic Services->jdbc-->Connection Pools-->centerconn-->connections initial Capacity(初始連線數):10 Maximum Capacity(最大連線數):50 CapacityIncrement:(每次遞增數):3(2)websphere 請參考weblogic設定資料來源的最大最小連線數。
========================================================================
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-1063304/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- nginx 錯誤除錯Nginx除錯
- 關於vuex的錯誤Vue
- 關於 swoole 除錯問題除錯
- 在 Istio 中除錯 503 錯誤除錯
- 關於 curl 工作中一個小錯誤
- oracle關於ORA-12988錯誤Oracle
- Python 之 錯誤,除錯和測試Python除錯
- TCP網路除錯助手提示錯誤:“1035:未知錯誤” 解決方案TCP除錯
- _findnext()除錯中斷,發生訪問錯誤,錯誤定位到ntdll.dll除錯
- Python學習之錯誤除錯和測試Python除錯
- 前端的水平線,錯誤處理和除錯前端除錯
- 關於 IIS 上執行 ASP.NET Core 站點的“HTTP 錯誤 500.19”錯誤ASP.NETHTTP
- 除錯篇——除錯物件與除錯事件除錯物件事件
- 除錯一記除錯
- 關於洗牌演算法的錯誤認識演算法
- 關於Mapreduce Text型別賦值的錯誤型別賦值
- 總結一篇shell除錯技巧及常見的指令碼錯誤除錯指令碼
- SAP錯誤訊息除錯之七種武器:讓所有的錯誤訊息都能被定位除錯
- weblogic 業務提交報錯Web
- 【除錯】SystemTap除錯網路卡狀態一例除錯
- 錯誤和異常 (一):錯誤基礎知識
- 關於集合遍歷並刪除報錯詳解
- 記錄一次根據錯誤資訊無法定位錯誤的錯誤
- Maven關於配置setting.xml出現的錯誤MavenXML
- 物聯網學習教程—常見錯誤和程式除錯除錯
- 真機除錯出現 application installation failed 錯誤 解決方案除錯APPAI
- 2024.11.1 一個錯誤
- git刪除本地分支出現錯誤Git
- kratos相關錯誤彙總
- 如何關閉PHP錯誤提示PHP
- 刪除表空間出現ORA-22868錯誤(一)
- 簡單就是易於除錯除錯
- Windows windbg kernel debug 雙機核心除錯 - USB3.0 除錯 USB除錯 除錯線Windows除錯
- 關於 Cypress 的啟動和 cy.visit 的除錯除錯
- 【常見錯誤】--Nltk使用錯誤
- iis7.5錯誤 配置錯誤
- Weblogic下的servlet記憶體馬注入-無參照純除錯WebServlet記憶體除錯
- 關於pip安裝時提示"pkg_resources.DistributionNotFound"錯誤
- 關於ESLint: Delete `␍`(prettier/prettier) 錯誤解決方案(3種)EsLintdelete