版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、應(yīng)用服務(wù)器 weblogic 管理目錄日常管理1.101.11WebLogic Platform 8.1 永不過期的開發(fā)版license1如何啟動(dòng)WebLogic服務(wù)?1控制臺(tái)左邊的樹結(jié)構(gòu)看不見?1WebLogic 配置出來的各種域區(qū)別?2Too many open files錯(cuò)誤的處理3Apache2 和weblogic7 實(shí)現(xiàn)虛擬主機(jī)4如何限制公網(wǎng)用戶WebLogic的控制臺(tái)呢?6開機(jī)自動(dòng)啟動(dòng)oracle和weblogic6如何測(cè)試虛擬主機(jī)8WebLogic的Startup Class應(yīng)該放在那個(gè)目錄里8如何停止WebLogic服務(wù)
2、?82應(yīng)用管理2.42.5里面加和不加p/env/前綴區(qū)別?9如何更改默認(rèn)打開主頁?如何設(shè)置虛擬目錄?9WebLogic Builder使用簡(jiǎn)介10WebLogic部署應(yīng)用的方式簡(jiǎn)明列表11WebLogic如何設(shè)置ses超時(shí)時(shí)間11調(diào)優(yōu)1333.1理解JVM的收集機(jī)制..43.1.5簡(jiǎn)述13下面列舉一些JVM使用的GC14Sun Hotspot 1.4.1 JVM堆大小的調(diào)整14從JVM中獲取信息以助于調(diào)整方案15BEA JRockit JVM的使用163.2WebLogic Server Hang產(chǎn)生的一般原因.2
3、.4系統(tǒng)內(nèi)存.17系統(tǒng)CPU忙17系統(tǒng)文件描述符數(shù)目.17線程死鎖183.3指定的網(wǎng)絡(luò)名不再可用錯(cuò)誤184集群配置214.14.2集群簡(jiǎn)明配置過程21WebLogic應(yīng)用在集群環(huán)境下的一些基本知識(shí).24.2.3基本概念22集群規(guī)劃23服務(wù)器配置任務(wù)列表235安全管理265.1WebLogic AD ldap 配置方法265.2口令的保護(hù)27iiWebLogic Platform 8.1 永不過期的開發(fā)版license日常管理WebLogic Platform 8.1 永不過期的開發(fā)版 license地址為: ense.bea/servlet/D2DServl
4、et/download/81-8992-44196-240/lic使用方式:替換c:bea目錄下的這個(gè)文件,這樣就可以使WebLogic Platform用不過期原文地址: qu=true/thread.jspa?forumID=81&threadID=8992&tstart=0&如何啟動(dòng) WebLogic 服務(wù)?用 net控務(wù)器,啟動(dòng)WEBLOGIC服務(wù),啟動(dòng)后關(guān)閉 net,WebLogic服務(wù)也跟著停止,這是因?yàn)槭褂?net啟動(dòng)的進(jìn)程會(huì)隨著 net進(jìn)程的關(guān)閉而關(guān)閉。所以可以使用一些UNIX下令來做到不關(guān)閉。使用如下命令:nohup startWeblogic.sh&如果想要標(biāo)準(zhǔn)輸出可以使用
5、:tail -f nohup.out原文地址: qu=true/thread.jspa?forumID=81&threadID=7709&tstart=0&控制臺(tái)左邊的樹結(jié)構(gòu)看不見?這是因?yàn)闉g覽器沒有安裝合適版本的 JRE 插件來支持 Applet??梢缘絟/products/plugin/ 題。相應(yīng)瀏覽器的插件來解決這個(gè)問原文地址: qu=true/thread.jspa?forumID=81&threadID=5233&tstart=0&1WebLogic 配置出來的各種域區(qū)別?請(qǐng)看這個(gè)中的Table 16-1 Configuration Template Summary,說的很明白htt
6、/platform/docs81/confgwiz/tempref.htmlTable16-1ConfigurationTemplateSummary2TemplateRequired WebLogic Platform ComponentFilenameDescriptionAvitek Medical Records Sle WebLogic Servermedrec.jarCreates the Avitek Medical Records outside the installed kit. Thisis a WebLogic Servers le application suite
7、t conciselydemonstrates all aspects of the J2EE platform.Basic WebLogic egration WebLogicegration,WebLogic Workshop,WebLogic Serverwli.jarCreates atsupports the development of WebLogicegration solutions.Note: To create a t supports thedevelopment of WebLogic Servros Edition solutions, use the Basic
8、WebLogicegrationtemplate. If you have an existing WebLogic Server-based, you can extend it to include the resourrequired for WebLogic Servros Edition by using the WebLogicegration ExtenTemplate.Basic WebLogic Platform WebLogic Platform (all componentsplatform.jarCreates atsupports the development of
9、 applications using allToo many open files 錯(cuò)誤的處理原文地址: qu=true/thread.jspa?forumID=81&threadID=9188&tstart=0&Too many open files 錯(cuò)誤的處理在有些 Linux 下由于操作系統(tǒng)的限制,單一進(jìn)程可以打開的文件數(shù)有限制,引起 WebLogic錯(cuò)誤,解決這問題需要編譯內(nèi)核并且調(diào)節(jié)一些限制參數(shù)。在 Linux 內(nèi)核 2.4.x 中需要修改源代碼,然后重新編譯內(nèi)核才生效。編輯 Linux內(nèi)核源代碼中的 include/linux/fs.h 文件,將 NR_FILE 由 8192 改
10、為 65536,將NR_FILES 由 10 改為 128。編輯 fs/inode.c 文件將 MAX_INODE3must be installed)WebLogic Platform components.Basic WebLogic Portal WebLogic Portal,WebLogic Workshop,WebLogic Serverwlp.jarCreates atsupports the development of WebLogic Portal solutions.Basic WebLogic Server WebLogic Serverwls.jarCreates a
11、 simple WebLogic Server without any s le applications.Basic WebLogic Workshop WebLogic Workshop,WebLogic Serverwlw.jarCreates atsupports the development of WebLogic Workshop solutions.WebLogic Server Exles WebLogic Serverexles.jarCreates the WebLogic Server Exlesoutside the installed kit. Thiscontai
12、ns a collection of exlest illustrate best practi for coding individual J2EE APIs.由改為。一般情況下,系統(tǒng)最大打開文件數(shù)比較合理的設(shè)置為每4M 物理內(nèi)存 256,比如 256M 內(nèi)存可以設(shè)為 16384,而最大的使用的 i 節(jié)點(diǎn)的數(shù)目應(yīng)該是最大打開文件數(shù)目的 3 倍到 4 倍。另外,對(duì)每個(gè)進(jìn)程的設(shè)置:ulimit -n 4096 將每個(gè)進(jìn)程可以打開的文件數(shù)目加大到 4096,缺省為 1024ulimit -m 4096 限制每個(gè)進(jìn)程使用的內(nèi)存數(shù)。原文地址: qu=true/thread.jspa?forumID=8
13、1&threadID=2461&tstart=0&Apache2 和 weblogic7 實(shí)現(xiàn)虛擬主機(jī)選擇 apache2,是因?yàn)槟壳?wls7 只支持 apache2 的結(jié)合.1.首先,正確安裝 apache2,這里假設(shè)安裝在 C:apache group,安裝完畢,需要測(cè)試 apache2 是否支持動(dòng)態(tài)加載模塊功能,這樣測(cè)試,到命令提示符下運(yùn)行:c:apache groupapache2binapache -l如果列出:mod_so.c則表示支持,然后將本篇文章附件中的 mod_wl_20.so 拷貝到 apache groupapache2modules 下面,運(yùn)行:c:apache g
14、roupapache2binapache -t如果輸出:Syntax Ok表示 WebLogic Servlug-in 安裝成功。2.正確安裝 weblogic7.0。這里假設(shè) wls7 的安裝路徑是:c:bea。然后用域配置向?qū)渲靡粋€(gè)域,假設(shè)域的名稱為 amjn,路徑是 c:beauser_projectsamjn,然后在 amjn 下面分別建立兩個(gè)站點(diǎn) web1,web2,修改c:beauser_projectsamjnconfig.xml 文件,在下面添加:Application Deployed=true Name=web1 Path=.applicationsweb1Stagedp
15、onentName=web1URI=web14Apache2 和weblogic7 實(shí)現(xiàn)虛擬主機(jī)VirtualHosts=web1_vh/Application Deployed=true Name=web2 Path=.applicationsweb2Stagedponent Name=web2s=myserver URI=web2VirtualHosts=web2_vh/在文件最下面的的上面添加,然后重新啟動(dòng)運(yùn)行amjnstartWebLogic.cmd,一定要運(yùn)行正常。到這里,weblogic算是配置完成了。3. 現(xiàn)在開 始配置 apache 多個(gè) 虛擬主機(jī),首先 先打開 c:winnt
16、system32driversetchosts 文件,在其中添加:00這里面的 0 是你的 weblogic 服 務(wù)器綁定 的 ip, 然后 打開 apache2confhttpd.conf 文件,在 174 行,注意是 174 行加入如下語句:#WebLogic Servroxy Settings該行是 174 行LoadModule weblogic_module modules/mod_wl_20.soWebLogicHostWebLogicPort 7001mMatchExpres MatchExpres*.jsp*.do然后修改httpd.conf 文件中的 Listen:80 為L(zhǎng)
17、isten:0:80,在文件section 3 部分添加:NameVirtualHost 0 ServerNameRoot c:/bea/user_projects/amjn/applications/web1ErrorLog.log ServerNameRoot c:/bea/user_projects/amjn/applications/web2ErrorLog.log5啟動(dòng) apache,如果沒有問題(可以通過 logs/error.log 查看),那就一切 ok 了現(xiàn)在你可以分別敲入入/index.jsp,jsp的將是 web2/index.jsp的將是 web1/index.jsp,
18、敲原文地址: qu=true/thread.jspa?forumID=81&threadID=6326&tstart=0&如何限制公網(wǎng)用戶WebLogic 的控制臺(tái)呢?的weblogic(版本 6.1)應(yīng)用部署在網(wǎng)上,通過到公網(wǎng)上,但公網(wǎng)用戶通過鍵入面,用戶可猜測(cè)管理員的:,就可進(jìn)入weblogic的登陸頁,如何公網(wǎng)用戶對(duì)weblogic控制臺(tái)的呢?方法 1:在控制臺(tái)上點(diǎn)擊左邊的你那個(gè)就完全不能使用console了方法 2:,將Console Enabled這個(gè)選項(xiàng)去掉,這樣將“console”改名,改“Console Context Path”的“console”為一個(gè)可以了方法 3:不要給
19、WebLogic公網(wǎng)ip,通過一個(gè)有公網(wǎng)ip的apache等proxy來方法 4:?jiǎn)?dòng)Administration Port方法 5:古怪的名字就WebLogic應(yīng)用不發(fā)布在Admin Server上,Admin Serve在不可見原文地址: 5L,oracle9i,weblogic6.1,HTTPServer由于給別人裝的機(jī)器,對(duì)方水平有限,為了項(xiàng)應(yīng)用比較好:),還是讓系統(tǒng)起來自動(dòng)運(yùn)行各首先自動(dòng)啟動(dòng)oracle9i,9i裝在oracle文件系統(tǒng)下,在/oracle下建立文件startdb,文件內(nèi)容echo bego start oracle lsnrctl startsqlplus /nol
20、og EOF6T 開機(jī)自動(dòng)啟動(dòng)oracle 和weblogicconnect /as sysdba startupexit exitecho oracle have started給startdb執(zhí)行權(quán)限自動(dòng)關(guān)閉oracle9i,在/oracle下建立文件stopdb sqlplus /nolog /home/weblogic.log &令行改把weblogic的運(yùn)行信息存到/home/weblogic.log文件中下面要把啟動(dòng)信息放到inittab中,加入一行startdb:2345678:wait:/etc/rc.startdb這樣系統(tǒng)啟動(dòng)后會(huì)自動(dòng)啟動(dòng)oracle9i系統(tǒng)關(guān)機(jī)自動(dòng)關(guān)閉ora
21、cle9i在/etc下建立文件rc.stopdbsu - oracle -c /oracle/stopdb給執(zhí)行權(quán)限由于 5L中安裝完成后沒有/etc/rc.shutdown文件,需要手工創(chuàng)建一個(gè)內(nèi)容如下#!/bin/ksh rc.stopdb給執(zhí)行權(quán)限這樣當(dāng)系統(tǒng)關(guān)機(jī)時(shí)會(huì)自動(dòng)尋找rc.shutdown并執(zhí)行,系統(tǒng)可以自動(dòng)關(guān)閉oracle9i當(dāng)然可以把一些命令行直接寫入inittab或rc.shutdown中,看自己的喜好了:)原文地址: &qu=true/thread.jspa?forumID=81&threadID=8415&tstart=257如何測(cè)試虛擬主機(jī)在本機(jī)配置了虛擬主機(jī),沒有 D
22、NS Server,如何進(jìn)試呢?C:WINNTsystem32driversetchosts加入一行:.cn原文地址: &qu=true/thread.jspa?forumID=81&threadID=9776&tstart=25WebLogic 的 Startup Class 應(yīng)該放在那個(gè)目錄里WebLogic在啟動(dòng)的時(shí)候可以指定Startup Class,它在任何一個(gè)應(yīng)用的類被加載之前調(diào)用,所以應(yīng)該加到啟動(dòng)時(shí)的系統(tǒng)類路徑下,可以修改startWebLogic.cmd或commEnv.cmd文件相應(yīng)的CLASSPATH部分,加入Startup Class的類路徑。原文地址: &qu=true
23、/thread.jspa?forumID=81&threadID=9119&tstart=25如何停止 WebLogic 服務(wù)?直接殺死進(jìn)程不是標(biāo)準(zhǔn)的做法,應(yīng)該使用如下 Java 命令:java-classpathweblogic.jar;%CLASSPATH%weblogic.Admin-url:SHUTDOWN-username-password 例如:java-classpathweblogic.jar;%CLASSPATH%weblogic.Admin-url:7001SHUTDOWN -username system -password password其中如果SHUTDOWN管不掉
24、,可以使用FOR來強(qiáng)制關(guān)掉服務(wù)器。HUTDOWN代替SHUTDOWN另外也可以直接使用stopWebLogic.cmd。原文地址: &qu=true/thread.jspa?forumID=81&threadID=5519&tstart=258JNDI 里面T 加和不加p/env/前綴區(qū)別?應(yīng)用管理里面加和不加p/env/前綴區(qū)別?p/env是標(biāo)準(zhǔn)的J2EE環(huán)境查找規(guī)則,使用這種方式必須做一次環(huán)境名到JNDI名的,這種使得在寫程序時(shí)不必關(guān)注真正的JNDI名字,其實(shí)說白了跟把JNDI名放到配置文件里是一樣的,用法如下:如把p/env/my/datasource到my.ora.dataourcew
25、eb.xmlmy/datasourcejavax.sql.DataSourceCONTAINERweblogic.xmlmy/datasourcemy.ora.dataource.而不使用這個(gè)前綴的,其實(shí)就是直接的JNDI名原文地址: qu=true/thread.jspa?forumID=81&threadID=16333&tstart=0&WebLogic Builder使用簡(jiǎn)介在DEV2DEV上有網(wǎng)友會(huì)問類似于這樣“如何為EJB寫那些部署描述文件如ejb-jar.xml以及WebLogic-ejb- jar.xml呢?”,對(duì)初學(xué)EJB的朋友來說,是一個(gè)比較,如果不想手寫的話,可以采用BE
26、A提供的WebLogic Builder工具或是JBuilder等工具來自動(dòng)生成。本文就WebLogic Builder的使用進(jìn)行一個(gè)簡(jiǎn)單的介紹,當(dāng)一個(gè)入門的指引,同時(shí)歡迎各位朋友就你的經(jīng)驗(yàn)對(duì)這篇文章進(jìn)行補(bǔ)充完善。使用步驟如下:一、準(zhǔn)備。例子就用WebLogic安裝完后的ex考le中selessSesEJB的例子,給個(gè)路徑參C: beaweblogic700slesserversrcexlesejb20basicselessSes將這個(gè)目錄 下的 .java 文件全部 拷貝出來 放到一個(gè) 臨時(shí)目錄 中比如 C:tempWebLogic_Builder_Test 來做這個(gè)實(shí)驗(yàn),拷貝的文 件有Cn
27、t.java ,Trader.java,TraderBean.java,TradeResult.java, TraderHome.java。二、對(duì)java原文件進(jìn)行編譯命令行中進(jìn)入C:tempWebLogic_Builder_Test,鍵入javac -d . *.java,三、打jar包命令行中,C:tempWebLogic_Builder_Test目錄下,鍵入jar -cvf test.jar *.*,生成 test.jar包。四、 打開WebLogic Builder工具,選擇并打開在步驟三中創(chuàng)建的test.jar包,這時(shí)WebLogic Builder給出一個(gè)提示“Unable to
28、locate deployment descriptors. C:tempWebLogic_Builder_Testtest.jar. Would you like new descriptors created for you?”,這意思明白了吧,WebLogic Builder要為你創(chuàng)建基本的部署描述符文件了,當(dāng)然點(diǎn)擊是咯,然后選擇保存,這樣你的C:tempWebLogic_Builder_Test目錄下的test.jar文件就有那兩個(gè)部署描述文件了,可以通過WebLogic Builder工具中的View-XML Source進(jìn)行查看。恭喜你,對(duì)WebLogic Builder這個(gè)工具的
29、使用入門了,至于該工具的其它的一些使用功能比如BEAN屬性配置、server部署什么的,就請(qǐng)大家自己研究吧!Q原文地址: 部署應(yīng)用的方式簡(jiǎn)明列表WebLogic 部署應(yīng)用的方式簡(jiǎn)明列表1、WebLogic中應(yīng)用可分三種,分別對(duì)應(yīng)不同的描述文件及擴(kuò)展名或目錄結(jié)構(gòu):( 1 ) *.JAR: 是 EJB 的壓縮包 ( 有 3 個(gè)描述文件 ejb-jar.xml ,WEBLOGIC*.0-ejb-jar.xml,WEBLOGIC*.0-cmp-rdbms-jar.xml)(2)*.WAR: 是只包含JSP和SERVLET的WEB APPLICATION壓縮包(有 2 個(gè)描述文件web.xml,webl
30、ogic.xml)(3)*.EAR: 是包含EJB和WEB APPLICATION 的J2EE Ent縮包(有 1 個(gè)描述文件,application.xml)rise Application壓注意:它們不能混用,如WEB APPLICATOIN不能打包成.EAR文件。2、WebLogic的應(yīng)用用兩種發(fā)布方式:以目錄形式存放在WEBLOGIC的APPLICATIONS目錄下,適用于開發(fā)階段以一個(gè)壓縮包形式存放在WEBLOGIC的APPLICATIONS目錄下,適用行階段,可用JAR 打包,如D:test jar cf testwar.war *把TEST目錄下的所有文件打包成一個(gè)testwar
31、.war文件。3、WebLogic應(yīng)用的布置方式有 2 種(1)靜態(tài)布置:即把應(yīng)用在CONFIG.XML中登記,可通過WEBLOGIC的控制臺(tái)進(jìn)行添加,WEBLOGIC會(huì)自動(dòng)把該應(yīng)用對(duì)應(yīng)的壓縮包拷到APPLICAITONS目錄下,如果對(duì)該應(yīng)用修改,需要重新布置才行。( 2 )動(dòng)態(tài)布置: 沒有在config.xml 中登記,可直接把壓縮包或目錄拷到APPLICATIONS目錄下,WebLogic會(huì)自動(dòng)檢測(cè)到. WebLogic每次啟動(dòng)時(shí)會(huì)自動(dòng)對(duì) APPLICATIONS目錄下沒有進(jìn)行靜態(tài)布置的應(yīng)用,進(jìn)行動(dòng)態(tài)布置。4、一個(gè)例子:如果一個(gè)應(yīng)用中有EJB,JSP,SERVLET,其布置步驟如下:生成E
32、JB的JAR文件,最好一個(gè)JAR文件對(duì)應(yīng)一個(gè)EJB生成WEB APPLICATION的WAR文件,在web.xml,weblogic.xml中登記,配置SERVLET,JSP等。創(chuàng)建一個(gè)application.xml文件,設(shè)置該應(yīng)用的屬性.把a(bǔ)pplication.xml,*.JAR,*.WAR,打包成一個(gè)*.EARWebLogic的控制臺(tái)中登記該應(yīng)用或把該EAR文件拷到application目錄下。到此處就完成了部署。原文地址: web.xml設(shè)置WEB應(yīng)用程序描述符web.xml里的元素。這個(gè)值以分鐘為11,并覆蓋weblogic.xml中的TimeoutSecs屬性sesses-time
33、out54-timeout此例表示Ses將在 54 分鐘后過期當(dāng)設(shè)置為2,表示將使用在weblogic.xml中設(shè)置的TimeoutSecs這個(gè)屬性值。當(dāng)設(shè)置為1,表示Ses將永不過期,而忽略在weblogic.xml中設(shè)置的TimeoutSecs屬性值。該屬性值可以通過console控制臺(tái)來設(shè)置2 weblogic.xml設(shè)置WebLogic特有部署描述符weblogic.xml的ses TimeoutSecs屬性。這個(gè)值以秒為-descriptor元素的TimeoutSecs3600默認(rèn)值是 3600 秒原文地址: JVM 的收集機(jī)制調(diào)優(yōu)理解 JVM 的收集機(jī)制簡(jiǎn)述GC即收集機(jī)制是指JVM
34、用于那些不再使用的對(duì)象所占用的內(nèi)存。java語言并不要求JVM有GC,也沒有規(guī)定GC如何工作。不過常用的JVM都有GC,而且大多數(shù)GC都使用類似的算法管理內(nèi)存和執(zhí)行收集操作。在充分理解了收集算法和執(zhí)行過程后,才能有效的優(yōu)化它的性能。有些垃圾收集于特殊的應(yīng)用程序。比如,實(shí)時(shí)應(yīng)用程序主要是為了避免收集中斷,而 大多數(shù)OLTP應(yīng)用程序則注重整體效率。理解了應(yīng)用程序的工作負(fù)荷和JVM支持的收集算法,便可以進(jìn)行優(yōu)化配置收集器。收集的目的在于清除不再使用的對(duì)象。GC通過確定對(duì)象是否被活動(dòng)對(duì)象引用來確定是否收集該對(duì)象。GC首先要判斷該對(duì)象時(shí)候可以收集。兩種常用的方法是計(jì)數(shù)和對(duì)象遍歷。以及計(jì)數(shù)對(duì)特定對(duì)象的所有
35、數(shù),也就數(shù)。是說,當(dāng)應(yīng)用程序創(chuàng)建超出范圍時(shí),JVM必須適當(dāng)增減當(dāng)某對(duì)象的數(shù)為 0 時(shí),便可以進(jìn)行收集。早期的JVM使用計(jì)數(shù),現(xiàn)在大多數(shù)JVM采用對(duì)象遍歷。對(duì)象遍歷從一組對(duì)象開始,沿著整個(gè)對(duì)象圖上的每條,遞歸確定可到達(dá) (reachable)的對(duì)象。如果某對(duì)象不能從這些根對(duì)象的一個(gè)(至少一個(gè))到達(dá),則將它作為收集。在對(duì)象遍歷階段,GC必須記住哪些對(duì)象可以到 達(dá),以便刪除不可到達(dá)的對(duì)象,這稱為標(biāo)記(marking)對(duì)象。下一步,GC要?jiǎng)h除不可到達(dá)的對(duì)象。刪除時(shí),有些GC只是簡(jiǎn)單的掃描堆棧,刪除未標(biāo)記的對(duì)象,并它們的內(nèi)存以生成新的對(duì)象, 這叫做清除(s)。這種方法在于內(nèi)存會(huì)分成好多小段,而它們以用于
36、新的對(duì)象,但是組合起來卻很大。因此,許多GC可以重新組織內(nèi)存中的對(duì)象,并進(jìn)行壓縮(compact),形成可利用的空間。為此,GC需要停止其他的活動(dòng)活動(dòng)。這種方法意味著所有與應(yīng)用程序相關(guān)的工作停止,只有GC運(yùn)行。結(jié)果,在響應(yīng)期間增減了許多混雜請(qǐng)求。另外,更復(fù)雜的 GC不斷增加或同時(shí)運(yùn)行以減少或者清除應(yīng)用程序的中斷。有的GC使用單線程完成這項(xiàng)工作,有的則采用多線程以增加效率。13下面列舉一些JVM使用的GC標(biāo)記清除收集器:這種收集器首先遍歷對(duì)象圖并標(biāo)記可到達(dá)的對(duì)象,然后掃描堆棧以尋找未標(biāo)記對(duì)象并并停止其他操作。它們的內(nèi)存。這種收集器一般使用單線程工作標(biāo)記壓縮收集器:有時(shí)也叫標(biāo)記清除壓縮收集器,與標(biāo)
37、記清除收集器有相同的標(biāo)記階段。在第二階段,則把標(biāo)記對(duì)象堆棧。這種收集器也停止其他操作。到堆棧的新域中以便壓縮收集器 這種收集器將堆棧分為兩個(gè)域,常稱為半空間。每次僅使用一半的空間,JVM生成的新對(duì)象則放在另一半空間中。GC運(yùn)行時(shí),它把可到達(dá)對(duì)象復(fù)制到另一半空 間,從而壓縮了堆棧。這種方法適用于短生存期的對(duì)象,持續(xù)復(fù)制長(zhǎng)生存期的對(duì)象則導(dǎo)致效率降低。增量收集器 增量收集器把堆棧分為多個(gè)域,每次僅從一個(gè)域收集成較小的應(yīng)用程序中斷。有多種方法可以定義實(shí)際的GC。分代收集器 這種收集器把堆棧分為兩個(gè)或多個(gè)域,用以存放不同。這會(huì)造的對(duì)象。JVM生成的新對(duì)象一般放在其中的某個(gè)域中。過一段時(shí)間,繼續(xù)存在的對(duì)象
38、將獲得使用期并轉(zhuǎn)入更長(zhǎng)優(yōu)化性能。的域中。分代收集器對(duì)不同的域使用不同的算法以并發(fā)收集器 并發(fā)收集器與應(yīng)用程序同時(shí)運(yùn)行。這些收集器在某點(diǎn)上一般都不得不停止其他操作以完成特定的任務(wù),但是因?yàn)槠渌麘?yīng)用程序可進(jìn)行其他的后臺(tái)操作,所以中斷其他處理的實(shí)際時(shí)間大大降低。并行收集器 并行收集器使用某種傳統(tǒng)的算法并使用多線程并行的執(zhí)行它們的工作。在多cpu機(jī)器上使用多線程技術(shù)可以顯著的提高java應(yīng)用程序的可擴(kuò)展性。Sun Hotspot 1.4.1 JVM堆大小的調(diào)整Sun Hotspot 1.4.1 使用分代收集器,它把堆分為三個(gè)主要的域:新域、舊域以及域。JVM生成的所有新對(duì)象放在新域中。一旦對(duì)象經(jīng)歷了一
39、定數(shù)量的收集循環(huán) 后,便獲得使用期并進(jìn)入舊域。在域中JVM則class和method對(duì)象。就配置而言,域是一個(gè)獨(dú)立域并且不認(rèn)為是堆的一部分。下面介紹如 何控制這些域的大小??墒褂?Xms和-Xmx初始大小設(shè)置為 128M:堆的原始大小或最大值。比如,下面令是把java Xms128m Xmx256m為控制新域的大小,可使用-XX:NewRatio設(shè)置新域在堆中所占的比例。比如下面令把整個(gè)堆設(shè)置成 128m,新域比率設(shè)置成 3,即新域與舊域比例為 1:3,新域?yàn)槎训?1/4 或 32M:java Xms128m Xmx128m XX:NewRatio =3可使用-XX:NewSize和-XX:M
40、axNewsize設(shè)置新域的初始值和最大值。比如,下面令把新域的初始值和最大值設(shè)置成 64m:java Xms256m Xmx256m Xmn64m14理解 JVM 的收集機(jī)制一般不把域當(dāng)作堆的一部分。域默認(rèn)大小為 4m。運(yùn)行程序時(shí),JVM會(huì)調(diào)整域的大小以滿足需要。每次調(diào)整時(shí),JVM會(huì)對(duì)堆進(jìn)行一次完全的垃圾收 集。使用-XX:MaxPerSize標(biāo)志來增加應(yīng)用程序加載較多類時(shí),經(jīng)常需要增加域搭大小。在WebLogic Server域的最大值。當(dāng)JVM加載類時(shí),永久域中的對(duì)象急劇增加,從而使JVM不斷調(diào)整域大小。為了避免 調(diào)整,可使用-XX:PerSize標(biāo)志設(shè)置初始值。比如,下面把大值設(shè)置成
41、64m。域初始值設(shè)置成 32m,最javaXms512mXmx512mXmn128mXX:PermSize=32mXX:MaxPermSize=64m默認(rèn)狀態(tài)下,HotSpot在新域中使用收集器。該域一般分為三個(gè)部分。第一部分為Eden,用于生成新的對(duì)象。另兩部分稱為救助空間,當(dāng)Eden充滿 時(shí),收集器停止應(yīng)用程序,把所有可到達(dá)對(duì)象到當(dāng)前的from救助空間,一旦當(dāng)前的from救助空間充滿,收集器則把可到達(dá)對(duì)象到當(dāng)前的to救助空 間。From和to救助空間互換角色。維持活動(dòng)的對(duì)象將在救助空間不斷們獲得使用期并轉(zhuǎn)入舊域。,直到它使用 -XX:SurvivorRatio 可控制新域子空間的大小。同
42、NewRation 一樣, SurvivorRation規(guī)定某救助域與Eden空間的比值。比如,以下命令把新域設(shè)置成 64m,Eden占 32m,每個(gè)救助域各占 16m:java Xms256m Xmx256m Xmn64m XX:SurvivorRation=2如前所述,默認(rèn)狀態(tài)下HotSpot對(duì)新域使用收集器,對(duì)舊域使用標(biāo)記清除壓縮收集器。在新域中使用收集器有很多意義,因?yàn)閼?yīng)用程序生成的大部分對(duì)象是短的。理想狀態(tài)下,所有過渡對(duì)象在移出Eden空間時(shí)將被收集。如果能夠這樣的話,并且移出Eden空間的對(duì)象是長(zhǎng)的,那么理論上可以 立即把它們移進(jìn)舊域,避免在救助空間反復(fù)。但是,應(yīng)用程序不能適合這種
43、理想狀態(tài),因?yàn)樗鼈冇幸恍〔糠种虚L(zhǎng)的對(duì)象。最好是保持這些中長(zhǎng)縮舊域廉價(jià)。為控制新域中對(duì)象的的對(duì)象并放在新域中,因?yàn)樾〔糠值膶?duì)象總比壓,可用-XX:SurvivorRatio控制救助空間的比例。該值是一個(gè)百分比,默認(rèn)值是 50。當(dāng)較大的堆棧使用較低的sruvivorratio時(shí),應(yīng)增加該值到 80 至 90,以更好利用救助空間。用-XX:maxtenuring threshold可控制上限。為放置所有的全部發(fā)生以及希望對(duì)象從eden擴(kuò)展到舊域,可以把MaxTenuring Threshold設(shè)置成 0。設(shè)置完成后,實(shí)際上就不再使用救助空間了,因此應(yīng)把SurvivorRatio設(shè)成最大值以最大化 E
44、den空間,設(shè)置如下:java -XX:MaxTenuringThreshold=0 XX:SurvivorRatio5000從JVM中獲取信息以助于調(diào)整方案-vere.gc開關(guān)可顯示GC的操作內(nèi)容。打開它,可以顯示最忙和最空閑收集行為發(fā)生的時(shí)間、收集前后的內(nèi)存大小、收集需要的時(shí)間等。打開-xx:+ pretails開關(guān),可以詳細(xì)了解GC中的變化。打開-XX: + PrGCTimeSts開關(guān),可以了解這些收集發(fā)生的時(shí)間,自15JVM啟動(dòng)以后以秒計(jì)量。最后,通過-xx: + PrHeapAtGC開關(guān)了解堆的更詳細(xì)的信息。為了了解新域的情況,可以通過-XX:=PrTenuringDistribut
45、ion開關(guān)了解獲得使用期的對(duì)象權(quán)。BEA JRockit JVM的使用Bea WebLogic 8.1 使用的新的JVM用于 el。在Bea安裝完畢的目錄下可以看到有一個(gè)類似于jrockit81sp1_141_03 的文件夾。這就是Bea新JVM所在目錄。不同于HotSpot把Java字節(jié)碼編譯成本地碼,它預(yù)先編譯成類。JRockit還提供了更細(xì)致的功能用以觀察JVM 的運(yùn)行狀態(tài),主要是獨(dú)立的GUI控制臺(tái)或者WebLogic Server控制臺(tái)。Bea JRockit JVM支持 4 種收集器:分代收集器:它與默認(rèn)的分代收集器工作策略類似。對(duì)象在新域中分配,即JRockit文檔中的nurser
46、y。這種收集器最適合單CPU機(jī)上小型堆操作。單空間并發(fā)收集器:該收集器使用完整堆,并與背景線程共同工作。盡管這種收集器可以消除中斷,但是收集器需花費(fèi)較長(zhǎng)的時(shí)間尋找死對(duì)象,而且處理應(yīng)用程序時(shí)收集器經(jīng)常運(yùn)行。如果處理器不能應(yīng)付應(yīng)用程序產(chǎn)生的斷應(yīng)用程序并關(guān)閉收集。,它會(huì)中分代并發(fā)收集器:這種收集器在護(hù)理域使用排它收集器,在舊域中則使用并發(fā)收集器。由于它比單空間共同發(fā)生收集器中斷頻繁,因此它需要較少的內(nèi)存,應(yīng)用程序的運(yùn)行效率也 較高,注意,過小的護(hù)理域可以導(dǎo)致大量的臨時(shí)對(duì)象被擴(kuò)展到舊域中。這會(huì)造成收集器超負(fù)荷成收集。,甚至采用排它性工作方式完并行收集器:該收集器也停止其他進(jìn)程的工作,但使用多線程以加速
47、收集進(jìn)程。盡管它比其他的收集器易于引起長(zhǎng)時(shí)間的中斷,但一般能更好的利用內(nèi)存,程序效率也較高。默 認(rèn)狀態(tài)下, JRockit 使用分代并發(fā)收集器。要改變收集器,可使用-Xgc:,對(duì)應(yīng)四個(gè)收集器分別為gencopy, singlecon,gencon以及 parallel??墒褂?Xms和-Xmx設(shè)置堆的初始大小和最大值。要設(shè)置護(hù)理域,則使用-Xns:java jrockit Xms512m Xmx512m Xgc:gencon Xns128m盡管JRockit支持-vere:gc開關(guān),但它輸出的信息會(huì)因收集器的不同而異。JRockit還支持memory、load和codegen的輸出。原文地址:
48、 0/thread.jspa?forumID=124&threadID=19031&tstart=16TWebLogic Server Hang 產(chǎn)生的一般原因WebLogic Server Hang產(chǎn)生的一般原因系統(tǒng)內(nèi)存系統(tǒng)CPU忙,系統(tǒng)文件描述符數(shù)目,線程死鎖,JVM有GC方面的bug,對(duì)于一些特定的情況可以使用truss命令系統(tǒng)調(diào)用來進(jìn)行分析??梢源蜷_JVM的gc log,在java命令行上加上-vere:gc,GC的log輸出在java進(jìn)程的標(biāo)準(zhǔn)輸出里,在hp的JVM上,可以通過在java命令行上加-Xveregc:file=gcfilename來將gc log寫到指定的文件其輸出類似
49、:GC 15639K-13700K(65280K), 0.0068439 secs。解決辦法是調(diào)整JVM的內(nèi)存設(shè)置和gc算法,升級(jí)jvm或是os patch。出現(xiàn)OutOfMemoryError或是觀察到內(nèi)存吃緊,操作系統(tǒng)本身的剩余內(nèi)存,通過top或是vms觀察,操作系統(tǒng)的swap區(qū),Swap區(qū)太小可能導(dǎo)致編譯jsp“Not enough space”的錯(cuò),操作系統(tǒng)kernel參數(shù)中maxsize的大小,如果觀測(cè)到數(shù)據(jù)庫連接池里的連接泄漏,極可能是內(nèi)存泄漏的先兆JVM的heap區(qū)大小,通過java命令行中的-Xms,-Xmx指定,建議最小值和最大值設(shè)成一樣,可以通過WebLogic conso
50、le上server/monitor/performance來觀察其使用情況,建議生產(chǎn)系統(tǒng)最 256M,一般情況下可以設(shè)置為系統(tǒng)剩余物理內(nèi)存的 80,Heap size太大在一些 JVM 上會(huì)有問題,對(duì)于sun 和hp 的 JVM , permanent size 太小也會(huì)出 OutOfMemoryError,在java命令行上加-XX:MaxPermSize=128m盡量減少內(nèi)存消耗,Ses中不要放大的數(shù)據(jù),并盡量在不再需要的時(shí)候remove掉,如果可以調(diào)整sestimeout 到較小的值,避免在J2EE server 端應(yīng)用里邊調(diào)用AWT/swing作圖,調(diào)整ejb的cache/pool設(shè)置
51、內(nèi)存泄漏,可以通過WebLogic console來觀察JVM的heap memory使用情況來獲知是否有內(nèi)存泄漏情況,采用第 輔助工具來獲取更詳細(xì)信息,如Jprobe/OptimizeIt;有可能是weblogic的bug,但絕大部分情況是由用戶的應(yīng)用引起的,最常見的代碼問題是數(shù)據(jù)庫連接沒正常關(guān)閉。系統(tǒng)CPU忙如果用戶量很大,CPU占用很高(user態(tài))并不是異常如果是kernel態(tài)很多,需要OS廠商調(diào)整操作系統(tǒng)采用top找到占用CPU很多的進(jìn)程,如果是非weblogic進(jìn)程,應(yīng)該考慮將其移到另外的server上運(yùn)行,如果是運(yùn)行weblogic的java進(jìn)程,通過做thread dump(詳
52、細(xì)信息后邊會(huì)介紹到)來確認(rèn)是那段代碼導(dǎo)致了這么高的CPU使用(也有可能是os/jvm本身不正常)系統(tǒng)文件描述符數(shù)目Log 中有“too many open files”的錯(cuò)誤,表示達(dá)到了系統(tǒng)對(duì)一個(gè)進(jìn)程能同時(shí)打開的文件數(shù)的限制:ulimit a H 可以查看當(dāng)前限制17ulimit n number 可以來更改當(dāng)前環(huán)境的設(shè)置,建議至少設(shè)到 4096Solaris 上可以通過/usr/proc/bin/pfilesdescriptor 數(shù)目來查看指定進(jìn)程的限制和當(dāng)前使用的 fileSolaris 上 root 用戶可以通過/usr/proc/bin/plimit -n sof描述符的限制rd來動(dòng)態(tài)
53、更改進(jìn)程的文件線程死鎖對(duì)于原因不明的hang或是響應(yīng)慢,最根本的方法就是獲取thread dump信息,對(duì)于windows系統(tǒng),在運(yùn)行java的窗口按CtrlBreak,對(duì)于UNIX系統(tǒng),首先用ps找到運(yùn)行weblogic的java進(jìn)程的,然后執(zhí)行kill 3,JVM將負(fù)責(zé)將所有java進(jìn)程的狀態(tài)、執(zhí)行堆棧dump到其標(biāo)準(zhǔn)輸出,為了方便獲取thread dump信息,在weblogic啟動(dòng)的時(shí)候,最好將其標(biāo)準(zhǔn)輸出重定向到一個(gè)文件,為了反映線程狀態(tài)的動(dòng)態(tài)變化,需要接連多次做thread dump,每次間隔 10-20s。對(duì)于thread dump信息,主要關(guān)注的是線程的狀態(tài)和其執(zhí)行堆棧,線程的狀
54、態(tài)一般為三類Runnable(R):當(dāng)前可以運(yùn)行的線程 Waiting on monitor(CW):線程主動(dòng)wait Waiting for monitor entry(MW):線程等鎖一般關(guān)注的都是第一和第三種狀態(tài)的線程CPU很忙則關(guān)注runnable的線程CPU閑則關(guān)注waiting for monitor entry的線程一種典型的死鎖是由于在server端應(yīng)用(比如servlet)中請(qǐng)求由同一weblogic實(shí)例serve的資源,解決辦法就是將該servlet放到另外的執(zhí)行隊(duì)列里去執(zhí)行。原文地址: 和 wl7.0 部署應(yīng)用后都在拋出“.SocketException: ReadFil
55、efailed: 指定的網(wǎng)絡(luò)名不再可用”,這不是一個(gè)致命的錯(cuò)誤,只會(huì)在中文 Window上。如 Hilaser 和 linstone 提出了辦法:如果你是自己隨便,將你的JDK升級(jí)到j(luò)dk1.3.1_06用wls6.1 sp4,到如下位置/SoftwareProductDetaiS?SWName=WebLogic+Server+Evaluation+Software&SWVerF2000=Ver+6.1+SP4&SWPlatform=+Windows+NT%2運(yùn)行cmd,打開窗口菜單(點(diǎn)擊左上角窗口圖標(biāo)),選擇 默認(rèn)值,將默認(rèn)代碼頁改為437。18指定的網(wǎng)絡(luò)名不再可用錯(cuò)誤原文地址: 中,集群的
56、受管服務(wù)器無需使用相同的端口,這使在一個(gè)主機(jī)上實(shí)現(xiàn)集群成為可能。下面的例子是在一個(gè)主機(jī)(0)上的 wls7 里創(chuàng)建一個(gè)集群(mycluster)DEMO,包括管理服務(wù)器(myserver:7001)、集群(兩個(gè)受管服務(wù)器serverA: 8001、serverB:8003)、服務(wù)器(ProxyServer:80)。應(yīng)用WebApp是部署在集群上的web應(yīng)用,而 DefaultWebApp是部署在集群應(yīng)用WebApp的。具體步驟如下:服務(wù)器上用來創(chuàng)建集群域cluster創(chuàng)建Machine:admnew,管理服務(wù)器myserver(7001:7003);yservroxyServer),clust
57、er(serverA,serverB);3創(chuàng)建受管服務(wù)器serverA(8001),serverB(8003); 4創(chuàng)建集群mycluster;Choose Servers for this Cluster: serverA,serverB config.xml:5部署WebApp應(yīng)用,s mucluster;6創(chuàng)建服務(wù)器ProxyServer(80),將DefaultWebApps ProxyServer;7編輯DefaultWebApp應(yīng)用,HttpClusterServlet:HttpClusterServletxy.HttpClusterServletWebLogicCluster0:
58、8001:8002|0:8003:8004DebugConfigInfoONHttpClusterServlet/HttpClusterServlet*.jsp 21HttpClusterServlet*.htm HttpClusterServlet*.html8重啟myserver; 9啟動(dòng)serverA:startManagedWeblogic啟動(dòng)成功后,10.啟動(dòng)serverB:startManagedWeblogic啟動(dòng)成功后,serverA;驗(yàn)證一下!serverB;驗(yàn)證一下!startManagedWeblogic11.ProxyServer。ProxyServer啟動(dòng):,是不是大
59、功告成了:)原文地址: qu=true/thread.jspa?forumID=81&threadID=3257&tstart=25&WebLogic 應(yīng)用在集群環(huán)境下的一些基本知識(shí)基本概念1硬件的cluster和WebLogic的cluster不是一回事,硬件做的是冷備份,對(duì)用戶的ses,用戶請(qǐng)求的負(fù)載均衡等的處理是做不到 的,而且一般硬件的雙機(jī)熱備也不是時(shí)時(shí)的備份,而是間隔一段時(shí)間再將主機(jī)上的數(shù)據(jù)copy過來,而WebLogicServer的cluster就不是這樣,其ses的數(shù)據(jù)是時(shí)時(shí)的的,對(duì)不經(jīng)常更改的jndi等的雖然也是定期完成的,但update的 時(shí)間間隔很短2WebLogic S
60、erver的cluster配置非常方便,請(qǐng)參考dev2dev學(xué)堂 Server的managed server就可以了,由這個(gè)集群中的唯一的Admin Server往這個(gè)managed server上部署應(yīng)用3http狀態(tài)會(huì)話就是ses的,例如你登陸了系統(tǒng),如果一個(gè)服務(wù)器壞了,cluster會(huì)將你的請(qǐng)求轉(zhuǎn)發(fā)集群中的另外一個(gè)server,由其繼續(xù)處理你的這個(gè)請(qǐng)求,而不要重新登陸。4EJB集群中有狀態(tài),無狀態(tài)EJB的意義和區(qū)別請(qǐng)看J2EE中EJB的相關(guān)知識(shí)5對(duì)EJB的集群,也是非常簡(jiǎn)單的,直接把EJB應(yīng)用到cluster的server上!6對(duì)WebLogic Server來說,它的cluster做s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年專用版文化藝術(shù)品版權(quán)保護(hù)與授權(quán)合同
- 專業(yè)產(chǎn)品開發(fā)服務(wù)協(xié)議2024年版
- 2025年度餐飲行業(yè)廚師創(chuàng)新研發(fā)勞動(dòng)合同3篇
- 2024年版軟件購(gòu)銷協(xié)議模板細(xì)則版B版
- 2024年采購(gòu)供需協(xié)議
- 2025年度草原防火與應(yīng)急管理服務(wù)合同3篇
- 2024年門窗安裝工程勞務(wù)派遣合同
- 2025年度智慧城市O2O綜合服務(wù)戰(zhàn)略合作協(xié)議書3篇
- 中醫(yī)基本知識(shí)培訓(xùn)課件
- 白酒知識(shí)線上培訓(xùn)課件
- 福建省能化集團(tuán)筆試題目
- 中考英語688高頻詞大綱詞頻表
- 手糊補(bǔ)強(qiáng)工A卷考試 (1)附有答案
- AQL標(biāo)準(zhǔn)抽樣檢驗(yàn)表
- 美國(guó)Control4智能家居設(shè)計(jì)方案解說資料
- DES算法Matlab代碼
- 超市日常工作檢查表
- 交通事故快速處理單(正反打印)
- 電纜熱穩(wěn)定校驗(yàn)計(jì)算書
- 2020國(guó)際大專辯論賽順境或逆境更有利于人的成長(zhǎng)
- 管理制度評(píng)價(jià)表(填寫模板)
評(píng)論
0/150
提交評(píng)論