<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE,Documentum,GWT,EJB學(xué)習(xí)路程

    為了所愛的,和愛我的人努力

     

    調(diào)整java 虛擬機(jī)


    盡管 JVM 調(diào)整操作隨 JVM 提供程序的不同而有所變化,但一般的調(diào)整概念適用于所有 JVM。這些一般的概念包括:
    編譯器調(diào)整。在服務(wù)器運(yùn)行時(shí)期間,所有 JVM 都使用即時(shí)(JIT)編譯器來將 Java 字節(jié)碼編譯為本機(jī)指令。
    Java 內(nèi)存或堆調(diào)整。JVM 內(nèi)存管理功能(即垃圾回收)為提高 JVM 性能提供了其中一種最大的可能性。
    類裝入調(diào)整。
    過程
    優(yōu)化啟動(dòng)性能和運(yùn)行時(shí)性能
    在某些環(huán)境中,優(yōu)化 WebSphere Application Server 的啟動(dòng)性能比優(yōu)化運(yùn)行時(shí)性能更重要。在另一些環(huán)境中,優(yōu)化運(yùn)行時(shí)性能更為重要。缺省情況下,IBM JVM 是針對(duì)運(yùn)行時(shí)性能進(jìn)行優(yōu)化的,而基于 HotSpot 的 JVM 是針對(duì)啟動(dòng)性能進(jìn)行優(yōu)化的。

    Java JIT 編譯器在很大程度上決定了是優(yōu)化啟動(dòng)性能還是優(yōu)化運(yùn)行時(shí)性能。編譯器使用的初始優(yōu)化級(jí)別影響編譯類方法所耗用的時(shí)間以及啟動(dòng)服務(wù)器所耗用的時(shí)間。為了提高 啟動(dòng)速度,可以降低編譯器所使用的初始優(yōu)化級(jí)別。這意味著,由于現(xiàn)在使用較低的優(yōu)化級(jí)別來編譯類方法,所以應(yīng)用程序的運(yùn)行時(shí)性能可能會(huì)下降。

    因?yàn)榫幾g器在運(yùn)行時(shí)執(zhí)行階段會(huì)根據(jù)自己的判斷來重新編譯類方法以提高性能,所以,很難提供一個(gè)有關(guān)特定的運(yùn)行時(shí)性能影響的說明。最終,應(yīng)用程序的持續(xù)時(shí)間 是影響運(yùn)行時(shí)性能下降程度的主要原因。運(yùn)行時(shí)間較短的應(yīng)用程序的方法被重新編譯的可能性較高。運(yùn)行時(shí)間較長的應(yīng)用程序的方法被重新編譯的可能性較低。 IBM JVM 的缺省設(shè)置是使用高優(yōu)化級(jí)別來執(zhí)行初始編譯。如果需要更改此行為,可以使用以下 IBM JVM 選項(xiàng):

    -Xquickstart

    此設(shè)置影響 IBM JVM 使用較低優(yōu)化級(jí)別來編譯類方法的方式,這將提高服務(wù)器啟動(dòng)速度,但會(huì)使運(yùn)行時(shí)性能下降。缺省情況下,如果未指定此參數(shù),IBM JVM 最初將使用較高的初始優(yōu)化級(jí)別來執(zhí)行編譯。此設(shè)置能夠提高運(yùn)行時(shí)性能,但會(huì)減慢服務(wù)器啟動(dòng)速度。

    缺省值: 高初始編譯器優(yōu)化級(jí)別
    建議值: 高初始編譯器優(yōu)化級(jí)別
    用法: -Xquickstart 可以加快服務(wù)器啟動(dòng)速度。

    基于 Sun 的 Hotspot 技術(shù)的 JVM 最初使用低優(yōu)化級(jí)別來編譯類方法。使用下列 JVM 選項(xiàng)來更改此行為:

    -server

    基于 Sun 的 Hotspot 技術(shù)的 JVM 最初使用低優(yōu)化級(jí)別來編譯類方法。這些 JVM 使用簡單編譯器和能夠進(jìn)行優(yōu)化的 JIT 編譯器。通常情況下,使用簡單 JIT 編譯器。然而,可以通過設(shè)置此選項(xiàng)來使用能夠執(zhí)行優(yōu)化的編譯器。此更改將顯著提高服務(wù)器的性能,但使用能夠執(zhí)行優(yōu)化的編譯器時(shí),服務(wù)器的預(yù)備時(shí)間將會(huì)較 長。

    缺省值: 簡單編譯器
    建議值: 能夠執(zhí)行優(yōu)化的編譯器
    用法: -server 啟用能夠執(zhí)行優(yōu)化的編譯器。

    設(shè)置堆大小 下列命令行參數(shù)對(duì)于設(shè)置堆大小來說很有用。
    -Xms
    此設(shè)置控制 Java 堆的初始大小。正確調(diào)整此參數(shù)有助于降低垃圾回收開銷,從而縮短服務(wù)器響應(yīng)時(shí)間并提高吞吐量。對(duì)于某些應(yīng)用程序來說,此選項(xiàng)的缺省設(shè)置可能會(huì)太低,從而導(dǎo)致發(fā)生大量小型垃圾回收。

    缺省值: 256 MB
    建議值: 隨工作負(fù)載的不同而有所變化,但高于缺省值。
    用法: -Xms256m 將初始堆大小設(shè)置為 256 兆字節(jié)

    -Xmx
    此設(shè)置控制 Java 堆的最大大小。正確調(diào)整此參數(shù)有助于降低垃圾回收開銷,從而縮短服務(wù)器響應(yīng)時(shí)間并提高吞吐量。對(duì)于某些應(yīng)用程序來說,此選項(xiàng)的缺省設(shè)置可能會(huì)太低,從而導(dǎo)致發(fā)生大量小型垃圾回收。

    缺省值: 512 MB
    建議值: 隨工作負(fù)載的不同而有所變化,但高于缺省值。
    用法: -Xmx512m 將最大堆大小設(shè)置為 512 兆字節(jié)

    -Xlp
    此設(shè)置可以與 IBM JVM 配合使用,以使用大頁來分配堆。然而,如果使用此設(shè)置,那么必須將操作系統(tǒng)配置為支持大頁。使用大頁可以降低 CPU 跟蹤堆內(nèi)存時(shí)的開銷,并且還允許創(chuàng)建較大的堆。

    請(qǐng)參閱調(diào)整操作系統(tǒng) 以了解有關(guān)調(diào)整操作系統(tǒng)的更多信息。

    應(yīng)該指定的堆大小取決于不同時(shí)段的堆使用情況。在堆大小頻繁更改的情況下,對(duì) Xms 和 Xmx 參數(shù)指定相同的值可以提高性能。

    調(diào)整 IBM JVM 的垃圾回收器。
    使用 Java -X 選項(xiàng)來查看內(nèi)存選項(xiàng)列表。

    -Xgcpolicy
    將 gcpolicy 設(shè)置為 optthruput 會(huì)禁用并發(fā)標(biāo)記。如果沒有暫停時(shí)間問題(表現(xiàn)為應(yīng)用程序響應(yīng)時(shí)間不規(guī)律),那么應(yīng)該使用此選項(xiàng)來實(shí)現(xiàn)最大吞吐量。將 gcpolicy 設(shè)置為 optavgpause 會(huì)使用缺省值來啟用并發(fā)標(biāo)記。此設(shè)置將減少由正常垃圾回收所引起的應(yīng)用程序響應(yīng)時(shí)間不規(guī)律情況。然而,此選項(xiàng)可能會(huì)降低整體吞吐量。

    缺省值: optthruput
    建議值: optthruput
    用法: Xgcpolicy:optthruput

    -Xnoclassgc
    缺省情況下,當(dāng)一個(gè)類沒有任何活動(dòng)實(shí)例時(shí),JVM 就會(huì)從內(nèi)存中卸裝該類,但是這樣會(huì)使性能下降。如果關(guān)閉類垃圾回收,就可以消除由于多次裝入和卸裝同一個(gè)類而造成的開銷。

    如果不再需要某個(gè)類,那么該類在堆中所占用的空間通常將用于創(chuàng)建新對(duì)象。但是,如果應(yīng)用程序通過創(chuàng)建類的新實(shí)例來處理請(qǐng)求,并且該應(yīng)用程序的請(qǐng)求是隨機(jī)出 現(xiàn)的,那么可能會(huì)發(fā)生以下情況:先前請(qǐng)求者完成后,正常的類垃圾回收將通過釋放這個(gè)類占用的堆空間來清除這個(gè)類,但當(dāng)下一個(gè)請(qǐng)求出現(xiàn)時(shí),又必須將這個(gè)類重 新實(shí)例化。在這種情況下,您可能想使用此選項(xiàng)來禁用類垃圾回收。

    缺省值: 啟用類垃圾回收
    建議值: 禁用類垃圾回收
    用法: Xnoclassgc 禁用類垃圾回收

    有關(guān)其他信息,請(qǐng)參閱下列 DeveloperWorks 文章:
    http://www.ibm.com/developerworks/java/
    調(diào)整 Sun JVM 的垃圾回收器
    在 Solaris 平臺(tái)上,WebSphere Application Server 在 Sun Hotspot JVM 上運(yùn)行,而不是在 IBM JVM 上運(yùn)行。對(duì) Sun JVM 使用正確的調(diào)整參數(shù)以利用其性能優(yōu)化功能十分重要。

    Sun Hotspot JVM 依靠分代垃圾回收來實(shí)現(xiàn)最佳性能。下列命令行參數(shù)對(duì)于調(diào)整垃圾回收來說非常有用。

    -XX:SurvivorRatio
    將 Java 堆劃分為舊對(duì)象(長生命周期對(duì)象)區(qū)域和新對(duì)象區(qū)域。新對(duì)象區(qū)域進(jìn)一步細(xì)分為兩部分,第一部分用于分配給新對(duì)象(初始區(qū)域),第二部分存放那些經(jīng)過其前幾 次垃圾回收之后、但在被提升為舊對(duì)象之前仍在使用中的新對(duì)象(幸存者空間)。幸存者比率是堆的新對(duì)象區(qū)域中初始區(qū)域與幸存者空間的比率。增大此設(shè)置將針對(duì) 需要?jiǎng)?chuàng)建大量對(duì)象但僅保留少量對(duì)象的應(yīng)用程序優(yōu)化 JVM。與其他應(yīng)用程序相比,WebSphere Application Server 會(huì)生成更多中等生命周期對(duì)象和長生命周期對(duì)象,因此,應(yīng)該將此設(shè)置設(shè)置為小于缺省值。

    缺省值: 32
    建議值: 16
    用法: -XX:SurvivorRatio=16

    -XX:PermSize
    為永久生成對(duì)象保留的堆區(qū)域存儲(chǔ) JVM 的所有反射數(shù)據(jù)。對(duì)于動(dòng)態(tài)地裝入和卸裝大量類的應(yīng)用程序來說,應(yīng)該增大此大小以優(yōu)化它們的性能。通過將此參數(shù)設(shè)置為 128MB,可以消除增大此部分堆所需的開銷。

    建議值: 128 MB
    用法: XX:PermSize=128m 將 perm 大小設(shè)置為 128 兆字節(jié)。

    -Xmn
    此設(shè)置控制允許新生成的對(duì)象在堆中耗用的空間量。正確調(diào)整此參數(shù)有助于降低垃圾回收開銷,從而縮短服務(wù)器響應(yīng)時(shí)間并提高吞吐量。此參數(shù)的缺省設(shè)置通常過 低,這將導(dǎo)致執(zhí)行大量的小型垃圾回收操作。如果將此參數(shù)設(shè)置得過高,可能會(huì)導(dǎo)致 JVM 僅執(zhí)行大型(全面)垃圾回收。這些垃圾回收操作通常會(huì)耗時(shí)幾秒鐘,這將嚴(yán)重影響服務(wù)器的整體性能。您必須保持將此參數(shù)設(shè)置為小于整個(gè)堆大小的一半,以避免 這種情況出現(xiàn)。

    缺省值: 2228224 字節(jié)
    建議值: 大約整個(gè)堆大小的 1/4
    用法: -Xmn256m 將大小設(shè)置為 256 兆字節(jié)。

    -Xnoclassgc
    缺省情況下,當(dāng)一個(gè)類沒有任何活動(dòng)實(shí)例時(shí),JVM 就會(huì)從內(nèi)存中卸裝該類,但是這樣會(huì)使性能下降。如果關(guān)閉類垃圾回收,就可以消除由于多次裝入和卸裝同一個(gè)類而造成的開銷。

    如果不再需要某個(gè)類,那么該類在堆中所占用的空間通常將用于創(chuàng)建新對(duì)象。但是,如果應(yīng)用程序通過創(chuàng)建類的新實(shí)例來處理請(qǐng)求,并且該應(yīng)用程序的請(qǐng)求是隨機(jī)出 現(xiàn)的,那么可能會(huì)發(fā)生以下情況:先前請(qǐng)求者完成后,正常的類垃圾回收將通過釋放這個(gè)類占用的堆空間來清除這個(gè)類,但當(dāng)下一個(gè)請(qǐng)求出現(xiàn)時(shí),又必須將這個(gè)類重 新實(shí)例化。在這種情況下,您可能想使用此選項(xiàng)來禁用類垃圾回收。

    缺省值: 啟用類垃圾回收
    建議值: 禁用類垃圾回收
    用法: Xnoclassgc 禁用類垃圾回收

    有關(guān)調(diào)整 Sun JVM 的其他信息,請(qǐng)參閱 Java HotSpot VM 的性能文檔。

    調(diào)整 HP JVM 的垃圾回收器
    HP JVM 依靠分代垃圾回收來實(shí)現(xiàn)最佳性能。下列命令行參數(shù)對(duì)于調(diào)整垃圾回收來說非常有用。

    -Xoptgc
    此設(shè)置針對(duì)包含許多短生命周期對(duì)象的應(yīng)用程序優(yōu)化 JVM。如果未指定此參數(shù),那么 JVM 通常執(zhí)行大型(全面)垃圾回收。全面垃圾回收會(huì)花費(fèi)幾秒鐘時(shí)間,這將顯著影響服務(wù)器性能。

    缺省值: off
    建議值: on
    用法: -Xoptgc 啟用優(yōu)化的垃圾回收。

    -XX:SurvivorRatio
    將 Java 堆劃分為舊對(duì)象(長生命周期對(duì)象)區(qū)域和新對(duì)象區(qū)域。新對(duì)象區(qū)域進(jìn)一步細(xì)分為兩部分,第一部分用于分配給新對(duì)象(初始區(qū)域),第二部分存放那些經(jīng)過其前幾 次垃圾回收之后、但在被提升為舊對(duì)象之前仍在使用中的新對(duì)象(幸存者空間)。幸存者比率是堆的新對(duì)象區(qū)域中初始區(qū)域與幸存者空間的比率。增大此設(shè)置將針對(duì) 需要?jiǎng)?chuàng)建大量對(duì)象但僅保留少量對(duì)象的應(yīng)用程序優(yōu)化 JVM。與其他應(yīng)用程序相比,WebSphere Application Server 會(huì)生成更多中等生命周期對(duì)象和長生命周期對(duì)象,因此,應(yīng)該將此設(shè)置設(shè)置為小于缺省值。

    缺省值: 32
    建議值: 16
    用法: -XX:SurvivorRatio=16

    -XX:PermSize
    為永久生成對(duì)象保留的堆區(qū)域存儲(chǔ) JVM 的所有反射數(shù)據(jù)。對(duì)于動(dòng)態(tài)地裝入和卸裝大量類的應(yīng)用程序來說,應(yīng)該增大此大小以優(yōu)化它們的性能。通過將此參數(shù)指定為 128 兆字節(jié),可以消除增大此部分堆所需的開銷。

    缺省值: 0
    建議值: 128 兆字節(jié)
    用法: -XX:PermSize=128m 將 PermSize 設(shè)置為 128 兆字節(jié)

    -XX:+ForceMmapReserved
    缺省情況下,Java 堆以“惰性交換”方式進(jìn)行分配。在此方式下,將根據(jù)需要來分配內(nèi)存頁,這樣可以節(jié)省交換空間,但是也將強(qiáng)制使用 4KB 頁。在大型堆系統(tǒng)中,這種內(nèi)存分配方式允許堆包含數(shù)以十萬計(jì)的頁。此命令禁用“惰性交換”并允許操作系統(tǒng)使用較大的內(nèi)存頁,從而優(yōu)化對(duì)構(gòu)成 Java 堆的內(nèi)存的訪問。

    缺省值: off
    建議值: on
    用法: -XX:+ForceMmapReserved 將禁用“惰性交換”。

    -Xmn
    此設(shè)置控制允許新生成的對(duì)象在堆中耗用的空間量。正確調(diào)整此參數(shù)有助于降低垃圾回收開銷,從而縮短服務(wù)器響應(yīng)時(shí)間并提高吞吐量。此參數(shù)的缺省設(shè)置通常過低,這將導(dǎo)致執(zhí)行大量的小型垃圾回收操作。

    缺省值: 沒有缺省值
    建議值: 大約整個(gè)堆大小的 3/4
    用法: -Xmn768m 將大小設(shè)置為 768 兆字節(jié)

    虛擬頁大小
    通過將 Java 虛擬機(jī)的指令頁大小和數(shù)據(jù)頁大小設(shè)置為 64MB,可以提高性能。

    缺省值: 4MB
    建議值: 64MB
    用法: 使用以下命令。命令輸出提供了進(jìn)程可執(zhí)行文件的當(dāng)前操作系統(tǒng)特征:
    chatr +pi64M +pd64M /opt/WebSphere/
    AppServer/java/bin/PA_RISC2.0/
    native_threads/java


    -Xnoclassgc
    缺省情況下,當(dāng)一個(gè)類沒有任何活動(dòng)實(shí)例時(shí),JVM 就會(huì)從內(nèi)存中卸裝該類,但是這樣會(huì)使性能下降。如果關(guān)閉類垃圾回收,就可以消除由于多次裝入和卸裝同一個(gè)類而造成的開銷。

    如果不再需要某個(gè)類,那么該類在堆中所占用的空間通常將用于創(chuàng)建新對(duì)象。但是,如果應(yīng)用程序通過創(chuàng)建類的新實(shí)例來處理請(qǐng)求,并且該應(yīng)用程序的請(qǐng)求是隨機(jī)出 現(xiàn)的,那么可能會(huì)發(fā)生以下情況:先前請(qǐng)求者完成后,正常的類垃圾回收將通過釋放這個(gè)類占用的堆空間來清除這個(gè)類,但當(dāng)下一個(gè)請(qǐng)求出現(xiàn)時(shí),又必須將這個(gè)類重 新實(shí)例化。在這種情況下,您可能想使用此選項(xiàng)來禁用類垃圾回收。

    缺省值: 啟用類垃圾回收
    建議值: 禁用類垃圾回收
    用法: Xnoclassgc 禁用類垃圾回收

    有關(guān)調(diào)整 HP 虛擬機(jī)的其他信息,請(qǐng)參閱 Java 技術(shù)軟件 HP-UX 11i。

    調(diào)整 HP 的 JVM for HP-UX 設(shè)置下列選項(xiàng)以提高應(yīng)用程序性能:
    -XX:SchedulerPriorityRange=SCHED_NOAGE
    -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider
    -XX:-ExtraPollBeforeRead

    posted on 2009-11-06 10:38 田亮 閱讀(389) 評(píng)論(1)  編輯  收藏

    評(píng)論

    # re: 調(diào)整java 虛擬機(jī) 2009-11-07 22:30 咖啡妝

    不知道樓主有什么好jvm測試或者調(diào)優(yōu)工具沒有,給介紹下!  回復(fù)  更多評(píng)論   


    只有注冊用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    MyHome

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲色图激情文学| 18禁黄网站禁片免费观看不卡| 一级毛片免费播放男男| 4虎永免费最新永久免费地址| 亚洲最新视频在线观看| a毛片视频免费观看影院| 亚洲区小说区图片区QVOD| 久久国产亚洲精品麻豆| 久久免费国产精品| 亚洲国产精品SSS在线观看AV| a在线观看免费网址大全| 国产亚洲精品美女久久久| 日本免费一区二区久久人人澡| 亚洲久本草在线中文字幕| 成人在线免费看片| 亚洲乱码无人区卡1卡2卡3| 免费国产成人高清视频网站| 免费人成在线观看播放a| 4338×亚洲全国最大色成网站| 精品无码国产污污污免费网站国产 | 亚洲日韩VA无码中文字幕| 免费一级肉体全黄毛片| 亚洲精品狼友在线播放| 99久9在线|免费| 中文字幕在线观看亚洲视频| 国产成人免费永久播放视频平台| 国产小视频免费观看| 亚洲最大激情中文字幕| 久久中文字幕免费视频| 色在线亚洲视频www| 免费看男女下面日出水视频| 国产在线精品一区免费香蕉| 亚洲精品中文字幕乱码影院 | 国产乱子伦片免费观看中字| 高清永久免费观看 | 免费人成视网站在线观看不卡 | 免费国产成人高清在线观看网站 | 青青草原精品国产亚洲av| 久久精品a一国产成人免费网站| 深夜福利在线免费观看| 亚洲精品线在线观看|