新聞中心
本文和大家重點(diǎn)討論一下weblogic設(shè)置jvmheap大小問題,如果沒有丟失任何WebLogic 線程,那么您需要判斷應(yīng)用程序創(chuàng)建的線程是否丟失。 在一些情況下,此問題通過在服務(wù)器啟動時設(shè)置-XX:MaxPermSize JVM 選項(xiàng)得到了解決。

成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、網(wǎng)站制作、成都網(wǎng)站制作、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務(wù),在成都10多年的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都上千中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。
weblogic怎么去設(shè)置jvmheap大小
如果沒有丟失任何WebLogic 線程,那么您需要判斷應(yīng)用程序創(chuàng)建的線程是否丟失。 在一些情況下,此問題通過在服務(wù)器啟動時設(shè)置-XX:MaxPermSize JVM 選項(xiàng)得到了解決。
找到安裝目錄下的weblogic81\common\bin\commEnv.cmd文件,打開修改如下代碼:
- sun
- if"%PRODUCTION_MODE%"=="true"gotosun_prod_mode
- setJAVA_VM=-client
- setMEM_ARGS=-Xms768m-Xmx1024m-XX:MaxPermSize=256m
- setJAVA_OPTIONS=%JAVA_OPTIONS%-Xverify:none
- gotocontinue
- :sun_prod_mode
- setJAVA_VM=-server
- setMEM_ARGS=-Xms768m-Xmx1024m-XX:MaxPermSize=256m
- gotocontinue
一般在文件中,有二處這樣的代碼存在,一個是使用weblogic自帶的jrockitJDK,二是使用sun的JDK.這里是以sunJDK為例,通過修過二處的=-Xms768m-Xmx1024m可以達(dá)到修改JVM目的所在.修改后保存重啟即可。
MaxPermSize=256m的介紹:
一般情況下,在分析服務(wù)器掛起問題、原因不明的超時或其它引起混亂的不明行為過程中會發(fā)現(xiàn)丟失線程問題。在缺省的WebLogicServer配置中,Default隊(duì)列應(yīng)當(dāng)有15個執(zhí)行線程(0到14)。下面是一個ThreadDump摘錄,顯示“Default”隊(duì)列的ExecuteThread13、8、6、5和3丟失。在指示線程已經(jīng)終結(jié)的服務(wù)器日志記錄中沒有任何異常、堆棧跟蹤或通知。
為什么發(fā)生此問題?
線程在拋出未捕獲的異?;蝈e誤時可能會消失。這種情況會導(dǎo)致服務(wù)器掛起,因?yàn)槠渌€程可能在永遠(yuǎn)不會調(diào)用notify()的監(jiān)視器上等待(即,要調(diào)用notify()的線程已經(jīng)消失了)。
如果設(shè)置MaxPermSize能夠糾正此問題,有一種可能的解釋是OutOfMemoryException在某些時候因?yàn)闆]有足夠的MaxPermSize設(shè)置而被拋出。如果線程正在記錄此異常,同時又發(fā)生另一個異常(例如,另一個OutOfMemoryException),則線程將不發(fā)出任何通知就結(jié)束。一直等待該線程調(diào)用notify()的其它線程將掛起。
如果設(shè)置MaxPermSize無法糾正此問題,則原因很可能是應(yīng)用程序異常處理出現(xiàn)問題。您應(yīng)當(dāng)利用調(diào)試器執(zhí)行代碼審核或分析應(yīng)用程序,以確定問題是否由未捕獲的異?;蝈e誤引起的?!癏ey,where'dmythreadgo?”一文解釋了未捕獲的異常和/或錯誤可能造成線程消失的各種情況。它還提供了如何糾正這些問題的示例。
排除丟失執(zhí)行線程故障的檢查清單
進(jìn)行ThreadDump并判斷是否有任何線程丟失。您應(yīng)當(dāng)參考config.xml文件以確定在ThreadDump中可以看到多少執(zhí)行線程。如果沒有丟失任何WebLogic線程,那么您需要判斷應(yīng)用程序創(chuàng)建的線程是否丟失。
在一些情況下,此問題通過在服務(wù)器啟動時設(shè)置-XX:MaxPermSizeJVM選項(xiàng)得到了解決。MaxPermSize可以設(shè)置為最大堆分配(mx)的一半。嘗試設(shè)置.XX:MaxPermSize=128m,并不斷增大其值直至問題得到解決。
如果這種方法沒有起到幫助作用,那么問題可能是應(yīng)用程序的異常處理功能故障引起的,需要利用調(diào)試器進(jìn)行代碼審核或分析才能發(fā)現(xiàn)問題根源。有關(guān)詳細(xì)信息,請參閱下列外部資源。
本文題目:調(diào)用weblogic設(shè)置jvmheap大小
轉(zhuǎn)載源于:http://fisionsoft.com.cn/article/djjhsoj.html


咨詢
建站咨詢
