




已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
WebLogic Server 性能及調(diào)整 -調(diào)整 Java 虛擬機Java 虛擬機(Java virtual machine,簡稱 JVM)是一種虛擬“執(zhí)行引擎”實例,可在微處理器上執(zhí)行 Java 類文件中的字節(jié)碼。調(diào)整 JVM 的方式會影響 Weblogic Server 和應(yīng)用程序的性能。envelope下列部分討論的是 WebLogic Server 的 JVM 調(diào)整選項: JVM 調(diào)整注意事項 哪種 JVM 適合您的系統(tǒng)? 垃圾收集 對 IA32 平臺啟用旋轉(zhuǎn)功能 JVM 調(diào)整注意事項表 5-1 列出了針對 WebLogic Server 的 JVM 調(diào)整的一般注意事項:表 5-1 JVM 調(diào)整一般注意事項 調(diào)整因素信息引用JVM 供應(yīng)商和版本僅可使用生產(chǎn) JVM(在該 JVM 上,WebLogic Server 已通過認證)。此版本的 WebLogic Server 僅支持兼容 J2SE 5.0 的 JVM。Supported Configurations頁會經(jīng)常更新,其中包含有關(guān)各種平臺的認證信息。調(diào)整堆大小和垃圾收集有關(guān) WebLogic Server 堆大小調(diào)整的詳細信息,請參閱垃圾收集。選擇 GC(垃圾收集)方案許多 GC 方案均可用于管理系統(tǒng)內(nèi)存,可用哪種方案取決于您的應(yīng)用程序,如選擇垃圾收集方案中所述?;旌峡蛻舳?服務(wù)器 JVMWebLogic Server 支持使用不同 JVM 版本進行客戶端和服務(wù)器部署。請參閱支持頁獲取混合客戶端/服務(wù)器 JVM。UNIX 線程模型選擇何種 Solaris 線程模型將對 Solaris 平臺上的 JVM 性能產(chǎn)生巨大影響??蓮亩鄠€線程模型以及所選模型內(nèi)的各種同步方法中進行選擇,但不同 JVM 的情況也有所不同。請參閱 Sun Microsystems 網(wǎng)站上的 Performance Documentation For the Java Hotspot Virtual Machine: Threading。 哪種 JVM 適合您的系統(tǒng)?雖然本部分著重介紹 Sun Microsystems 用于 Windows、UNIX 和 Linux 平臺的 J2SE 5.0 JVM,但請注意 BEA JRockit JVM 是明確為服務(wù)器端應(yīng)用程序開發(fā)的,并針對 Intel 體系結(jié)構(gòu)進行了優(yōu)化,可以確保 Java 應(yīng)用程序的可靠性、可伸縮性、可管理性和靈活性。有關(guān)在 Windows 和 Linux 平臺上使用 JRockit 的優(yōu)勢的詳細信息,請參閱 Introduction to JRockit JDK。有關(guān) JVM 的常規(guī)詳細信息,請參閱 JVM 規(guī)范簡介。有關(guān) JVM 調(diào)整相關(guān)內(nèi)容的鏈接,請參閱相關(guān)內(nèi)容:性能工具和信息更換到另一個 JVM創(chuàng)建域時,如果選擇自定義配置,則配置向?qū)@示 WebLogic Server 安裝的 JDK 列表。在此列表中,您可以選擇希望運行域的 JVM,然后 Configuration Wizard 將根據(jù)您的選擇配置 BEA 啟動腳本。如果在創(chuàng)建域之后,想要使用另一 JVM,請參閱更改運行服務(wù)器的 JVM。 垃圾收集垃圾收集是 VM 釋放 Java 堆中未使用的 Java 對象的過程。下列部分提供有關(guān)調(diào)整 VM 垃圾收集的信息: VM 堆大小和垃圾收集 選擇垃圾收集方案 使用詳細垃圾收集確定堆大小 指定堆大小值 自動對內(nèi)存不足情況進行日志記錄 手工請求垃圾收集 請求線程堆棧VM 堆大小和垃圾收集Java 程序?qū)ο蟠鎯υ?Java 堆中。Java 堆是包括活動對象、無效對象及可用內(nèi)存的倉庫。如果某對象不再能夠在運行的程序中通過任何指針進行訪問,則會將該對象視為“垃圾”,可以進行收集。將進行垃圾收集所耗費的時間調(diào)整為執(zhí)行時間的 5% 以下,這是一種最佳實踐。JVM 堆大小決定 VM 收集垃圾的頻率及所耗費的時間??梢越邮艿睦占俾室驊?yīng)用程序而異,并且應(yīng)在分析垃圾收集的實際時間和頻率后進行調(diào)整。如果將堆大小設(shè)置得很大,則執(zhí)行完全垃圾收集的速度將會較慢,但收集頻率會較低。如果根據(jù)內(nèi)存需求設(shè)置堆大小,則完全垃圾收集的速度會較快,但收集頻率會較高。調(diào)整堆大小的目的是將 JVM 進行垃圾收集所耗費的時間縮到最短,同時將 WebLogic Server 在某給定時間內(nèi)可以處理的客戶端數(shù)增至最大。要確保在基準測試期間得到最佳性能,可將堆大小值設(shè)置得很大,以確保不會在整個基準測試過程中進行垃圾收集。如果堆空間不足,則可能會出現(xiàn)以下 Java 錯誤:java.lang.OutOfMemoryError java.lang.OutOfMemoryError Exception in thread main要修改堆空間值,請參閱指定堆大小值。要配置 WebLogic Server 以便在堆空間用盡時自動進行檢測,以及處理服務(wù)器中內(nèi)存不足的情況,請參閱自動對內(nèi)存不足情況進行日志記錄和指定堆大小值。選擇垃圾收集方案可從若干垃圾收集方案中進行選擇,以管理系統(tǒng)內(nèi)存,所選擇的方案取決于所使用的 JVM。例如,某些垃圾收集方案更適用于給定類型的應(yīng)用程序。了解應(yīng)用程序的工作負荷以及 JVM 所用的各種垃圾收集算法之后,就可以優(yōu)化垃圾收集的配置。請參閱下列鏈接,以查看 JVM 垃圾收集選項的深入討論: 有關(guān) Sun 的 HotSpot VM 可用的垃圾收集方案的概述,請參閱 Tuning Garbage Collection with the 5.0 Java Virtual Machine。 有關(guān)可用收集方案的詳盡說明,請參閱 Improving Java Application Performance and Scalability by Reducing Garbage Collection Times and Sizing Memory Using JDK 1.4.1。 有關(guān) BEA JRockit JDK 可用的垃圾收集方案的討論,請參閱。 對于從 HP 視角來看有關(guān)垃圾收集的某些觀點,請參閱 。使用詳細垃圾收集確定堆大小通過詳細垃圾收集選項 (verbosegc),能夠精確測量向垃圾收集投入了多少時間和資源。要確定最有效的堆大小,請啟用詳細垃圾收集,然后將其輸出重定向到日志文件,以便進行診斷。此過程的大致步驟如下:1 在運行應(yīng)用程序時監(jiān)視 WebLogic Server 在最大負載下的性能。1 用 -verbosegc 選項對 JVM 啟用詳細垃圾收集輸出,然后將標準錯誤和標準輸出都重定向到日志文件。 這會將線程轉(zhuǎn)儲信息存儲到相應(yīng)的 WebLogic Server 信息性消息和錯誤消息上下文中,從而提供更有用的日志以便進行診斷。例如,在 Windows 和 Solaris 中,輸入下列代碼:% java -ms32m -mx200m -verbosegc -classpath $CLASSPATH-Dweblogic.Name=%SERVER_NAME% -Dbea.home=C:bea-Dweblogic.management.username=%WLS_USER%-Dweblogic.management.password=%WLS_PW%-Dweblogic.management.server=%ADMIN_URL%-Dweblogic.ProductionModeEnabled=%STARTMODE%-Djava.security.policy=%WL_HOME%serverlibweblogic.policy weblogic.Server logfile.txt 2&1其中的 logfile.txt 2&1 命令可將標準錯誤和標準輸出都重定向到日志文件。在 HPUX 中,可使用以下選項將 stderr stdout 重定向到單個文件:-Xverbosegc:file=/tmp/gc$.out其中 $ 可以映射到 Java 進程的進程 ID (PID)。因為輸出中包括運行垃圾收集時的時間戳,所以可推斷出進行垃圾收集的頻率。1 分析下列數(shù)據(jù)點: 1 多長時間進行一次垃圾收集?在 weblogic.log 文件中,比較垃圾收集的時間戳。1 進行垃圾收集花費了多長時間?完全垃圾收集耗時不應(yīng)超過 3 到 5 秒。1 平均內(nèi)存占用量為多少?換句話說,每當完全垃圾收集執(zhí)行完畢后,堆占用多少內(nèi)存?如果堆始終占用 15%,則可以將堆大小設(shè)置得更小些。2 檢查新一代堆大小 (Sun) 或溫床大小 (BEA Jrockit)。 對于 BEA Jrockit:請參閱 BEA JRockit JVM 堆大小選項。 對于 Sun:請參閱 Java HotSpot VM 堆大小選項。3 確保堆大小不超過系統(tǒng)中可用 RAM 的大小。 在不會導致系統(tǒng)向磁盤“交換”頁面的前提下,使用盡可能大的堆大小。系統(tǒng)中可用 RAM 的大小取決于硬件配置,以及在計算機中運行進程所需的內(nèi)存量。確定系統(tǒng)中的可用 RAM 量時,可求助于系統(tǒng)管理員。4 如果發(fā)現(xiàn)系統(tǒng)收集垃圾所耗費的時間太長(分配的虛擬內(nèi)存已超過 RAM 的處理能力),請減小堆大小。 通常應(yīng)將可用 RAM(未被操作系統(tǒng)或其他進程占用)的 80% 用于 JVM。5 如果發(fā)現(xiàn)還有大量的可用 RAM,則在計算機中運行更多 WebLogic Server 實例。 記住,調(diào)整堆大小的目的是將 JVM 進行垃圾收集所耗費的時間縮到最短,同時將 WebLogic Server 在某給定時間內(nèi)可以處理的客戶端數(shù)增至最大。注意:JVM 供應(yīng)商可能會提供用于打印詳盡的垃圾收集報告的其他選項。例如,可在關(guān)閉程序時使用 BEA JRockit JVM -Xgcreport 選項打印詳盡的垃圾收集報告,請參閱“。指定堆大小值可供 JVM 使用的 Java 堆大小對系統(tǒng)性能具有較大影響。本部分介紹用于定義堆大小值的命令行選項。每當啟動 WebLogic Server 實例時,均需指定 Java 堆大小值。在 java 命令行中,或通過修改隨 WebLogic 分發(fā)提供的示例啟動腳本(用于啟動 WebLogic Server)中的默認值,均可執(zhí)行上述操作。 堆大小調(diào)整提示 BEA JRockit JVM 堆大小選項 Java HotSpot VM 堆大小選項堆大小調(diào)整提示以下部分提供了調(diào)整 VM 堆大小的一般準則: 堆大小應(yīng)設(shè)置為一個適當?shù)闹?,從而?VM 使用的最大內(nèi)存量不超過可用物理 RAM 量。如果超過該值,則 OS 會開始分頁,性能也會顯著降低。VM 使用的內(nèi)存始終多于堆大小。除了堆大小設(shè)置,還要分配內(nèi)部 VM 功能、VM 之外的本地庫和永久代內(nèi)存(僅適用于 Sun VM:存儲類和方法所需的內(nèi)存)所需的內(nèi)存。 使用分代式垃圾收集方案時,溫床大小不應(yīng)超過 Java 堆總大小的一半。通常情況下,堆大小的 25% 到 40% 就已足夠。 在生產(chǎn)環(huán)境中,將最小堆大小和最大堆大小設(shè)置為同一值,可以避免浪費用于時常調(diào)整堆大小所需的 VM 資源。這也適用于新一代堆大小 (Sun) 或溫床大小 (BEA Jrockit)。BEA JRockit JVM 堆大小選項雖然 BEA JRockit 可以自動進行試探性堆大小調(diào)整,但這并不是所有應(yīng)用程序的最佳選擇。大多數(shù)情況下,最佳性能是通過調(diào)整每種應(yīng)用程序的 VM 實現(xiàn)的,方法是調(diào)整表 5-2 中所示的堆大小選項。表 5-2 BEA JRockit JVM 堆大小選項任務(wù)選項注釋設(shè)置溫床-Xns最好嘗試將溫床設(shè)置得盡可能大,同時還要使垃圾收集暫停時間縮短至可以接受的程度。應(yīng)用程序創(chuàng)建大量臨時對象時,這尤其重要。溫床的最大大小不能超過最大堆大小的 95%。設(shè)置最小堆大小-XmsBEA 建議將最小堆大小 (-Xms) 與最大堆大小 (-Xmx) 設(shè)置為相同的值,以便將垃圾收集的消耗降至最低。設(shè)置最大堆大小-Xmx如果與活動數(shù)據(jù)量相比,最大堆大小值設(shè)置得較低,則會因強制進行頻繁垃圾收集而降低性能。設(shè)置垃圾收集-Xgc: parallel 盡早在運行 Java 應(yīng)用程序時執(zhí)行自適應(yīng)優(yōu)化。-XXaggressive:memory這樣,瓶頸檢測器會在開始時以較高的頻率運行,然后逐漸降低頻率。此選項還可以指示 BEA JRockit 主動使用可用內(nèi)存。例如,從 java 命令行啟動 WebLogic Server 實例時,可使用以下命令指定 BEA JRockit VM 堆大小值:$ java -Xns10m -Xms512m -Xmx512m這些值的默認大小的度量單位是字節(jié)。該值后附加字母“k”或“K”表示 KB;附加“m”或“M”表示 MB;附加“g”或“G”表示 GB。上例將 10 MB 內(nèi)存分配給溫床堆大小,將 512 MB 內(nèi)存分配給運行在 JVM 中的 WebLogic Server 實例的最小和最大堆大小。有關(guān)針對 WebLogic 的 JRockit JVM 設(shè)置適當?shù)亩汛笮〉脑敿毿畔?,請參?Tuning the JRockit JVM。其他 BEA JRockit VM 選項BEA 提供可以提高 BEA JRockit VM 性能的其他命令行選項。有關(guān)詳細信息,請參閱 。Java HotSpot VM 堆大小選項通過分別調(diào)整每個應(yīng)用程序,可以實現(xiàn)最佳性能。但是,在啟動 WebLogic Server 時配置表 5-3 中列出的 Java HotSpot VM 堆大小選項,可以提高大多數(shù)應(yīng)用程序的性能。這些選項因體系結(jié)構(gòu)和操作系統(tǒng)而異。有關(guān)平臺特定的 JVM 調(diào)整選項,請參閱供應(yīng)商提供的文檔。表 5-3 Java 堆大小選項 任務(wù)選項注釋設(shè)置新一代堆大小-XX:NewSize將 -XX:NewSize 的大小設(shè)置為堆大小的四分之一,這是一條通用規(guī)則。如果存在大量短期對象,則增大此選項的值。在增加處理器的同時,一定要增加新一代堆大小。內(nèi)存分配可以并行進行,但垃圾收集不可并行進行。設(shè)置最大新一代堆大小-XX:MaxNewSize設(shè)置新一代堆大小的上限。設(shè)置新堆大小比率-XX:SurvivorRatio新一代區(qū)域分為三個子區(qū):Eden 和兩個大小相等的生存空間。配置 Eden/生存空間大小的比率。嘗試將此值設(shè)置為 8,然后監(jiān)視垃圾收集情況。設(shè)置最小堆大小-Xms將最小堆大小 (-Xms) 與最大堆大小 (-Xmx) 設(shè)置為相同的值,以便將垃圾收集的消耗降至最低,這是一條通用規(guī)則。設(shè)置最大堆大小-Xmx設(shè)置堆大小的上限。設(shè)置大堆和私有共享內(nèi)存-XX:+UseISM -XX:+AggressiveHeap請參閱 /docs/hotspot/ism.html例如,從 java 命令行啟動 WebLogic Server 實例時,可使用以下命令指定 HotSpot VM 堆大小值:$ java -XX:NewSize=128m -XX:MaxNewSize=128m -XX:SurvivorRatio=8 -Xms512m -Xmx512m這些值的默認大小的度量單位是字節(jié)。該值后附加字母“k”或“K”表示 KB;附加“m”或“M”表示 MB;附加“g”或“G”表示 GB。上例將 128 MB 內(nèi)存分配給新一代堆大小和最大新一代堆大小,將 512 MB 內(nèi)存分配給運行在 JVM 中的 WebLogic Server 實例的最小和最大堆大小。其他 Java HotSpot VM 選項Sun 提供了可以提高 VM 性能的其他標準和非標準命令行選項。使用這些選項的方式取決于應(yīng)用程序的編碼方式。對客戶端和服務(wù)器 JVM 進行測試,以確定更適用于特定應(yīng)用程序的選項。Sun Microsystems 的 Java HotSpot VM Options 文檔提供有關(guān)可以影響 Java HotSpot 虛擬機性能特征的命令行選項和環(huán)境變量的信息。有關(guān) HotSpot VM 選項的其他示例,請參閱: Standard Options for Windows (Win32) VMs Standard Options for Solaris VMs. Standard Options for Linux VMs.Sun Microsystems 的 Java Virtual Machine 文檔詳細論述了 J2SE 5.0 Java 虛擬機的客戶端和服務(wù)器實現(xiàn)。自動對內(nèi)存不足情況進行日
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZSM 0055-2024“領(lǐng)跑者”評價技術(shù)要求 燒結(jié)釹鐵硼永磁材料
- 2025年度資質(zhì)借用與投標環(huán)境保護合作協(xié)議
- 二零二五年度智能交通管理系統(tǒng)單方解除合同
- 2025年度跨海大橋旋挖灌注樁施工合同
- 二零二五年度防盜門市場調(diào)研與采購合作協(xié)議
- 二零二五年度生物技術(shù)專利申請合作協(xié)議
- 二零二五年度體育健身公司聘用兼職教練合同書
- 二零二五年度勞務(wù)派遣公司勞動合同范本(含合同解除與賠償)
- 四川省2025年度房屋租賃租賃合同解除與終止合同
- 二零二五年度消費金融貸款連帶保證合同書
- 《自動噴水滅火系統(tǒng)設(shè)計》圖示
- 第二章陸地和海洋【真題訓練】(人教版)(原卷版)
- 小吃街概念性規(guī)劃
- 創(chuàng)新小白實操手冊 第2版 課件全套 吳雋 模塊1-8 人人皆可創(chuàng)新-商業(yè)呈現(xiàn)與商業(yè)計劃
- 2024年世界職業(yè)院校技能大賽高職組“關(guān)務(wù)實務(wù)組”賽項參考試題庫(含答案)
- 電商提成合同模板
- 正念八周課件
- 服務(wù)響應(yīng)時間和服務(wù)保障方案
- 蟾蜍毒抗病毒作用機制
- 光伏發(fā)電監(jiān)理合同協(xié)議
- 新能源汽車概論課件 3.1認知純電動汽車
評論
0/150
提交評論