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

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

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

    隨筆-16  評(píng)論-54  文章-0  trackbacks-0
    Sun HotSpot 1.4.1 JVM堆大小的調(diào)整
    ????
    ????Sun HotSpot 1.4.1使用分代收集器,它把堆分為三個(gè)主要的域:新域、舊域以及永久域。Jvm生成的所有新對(duì)象放在新域中。一旦對(duì)象經(jīng)歷了一定數(shù)量的垃圾收集循環(huán)后,便獲得使用期并進(jìn)入舊域。在永久域中jvm則存儲(chǔ)class和method對(duì)象。就配置而言,永久域是一個(gè)獨(dú)立域并且不認(rèn)為是堆的一部分。

    ????下面介紹如何控制這些域的大小。可使用-Xms和-Xmx 控制整個(gè)堆的原始大小或最大值。
    ????下面的命令是把初始大小設(shè)置為128M:
    ????java –Xms128m
    ???? –Xmx256m為控制新域的大小,可使用-XX:NewRatio設(shè)置新域在堆中所占的比例。

    ?? 下面的命令把整個(gè)堆設(shè)置成128m,新域比率設(shè)置成3,即新域與舊域比例為1:3,新域?yàn)槎训?/4或32M:
    ?? java –Xms128m –Xmx128m
    ????–XX:NewRatio =3可使用-XX:NewSize和-XX:MaxNewsize設(shè)置新域的初始值和最大值。

    ?? 下面的命令把新域的初始值和最大值設(shè)置成64m:
    ???? java –Xms256m –Xmx256m –Xmn64m
    ?? 永久域默認(rèn)大小為4m。運(yùn)行程序時(shí),jvm會(huì)調(diào)整永久域的大小以滿足需要。每次調(diào)整時(shí),jvm會(huì)對(duì)堆進(jìn)行一次完全的垃圾收集。

    ?? 使用-XX:MaxPerSize標(biāo)志來增加永久域搭大小。在WebLogic Server應(yīng)用程序加載較多類時(shí),經(jīng)常需要增加永久域的最大值。當(dāng)jvm加載類時(shí),永久域中的對(duì)象急劇增加,從而使jvm不斷調(diào)整永久域大小。為了避免調(diào)整,可使用-XX:PerSize標(biāo)志設(shè)置初始值。
    ?? 下面把永久域初始值設(shè)置成32m,最大值設(shè)置成64m。
    ????java -Xms512m -Xmx512m -Xmn128m -XX:PermSize=32m -XX:MaxPermSize=64m

    ????默認(rèn)狀態(tài)下,HotSpot在新域中使用復(fù)制收集器。該域一般分為三個(gè)部分。第一部分為Eden,用于生成新的對(duì)象。另兩部分稱為救助空間,當(dāng)Eden充滿時(shí),收集器停止應(yīng)用程序,把所有可到達(dá)對(duì)象復(fù)制到當(dāng)前的from救助空間,一旦當(dāng)前的from救助空間充滿,收集器則把可到達(dá)對(duì)象復(fù)制到當(dāng)前的to救助空間。From和to救助空間互換角色。維持活動(dòng)的對(duì)象將在救助空間不斷復(fù)制,直到它們獲得使用期并轉(zhuǎn)入舊域。使用-XX:SurvivorRatio可控制新域子空間的大小。

    ????同NewRation一樣,SurvivorRation規(guī)定某救助域與Eden空間的比值。比如,以下命令把新域設(shè)置成64m,Eden占32m,每個(gè)救助域各占16m:
    ????java -Xms256m -Xmx256m -Xmn64m -XX:SurvivorRation =2

    ????如前所述,默認(rèn)狀態(tài)下HotSpot對(duì)新域使用復(fù)制收集器,對(duì)舊域使用標(biāo)記-清除-壓縮收集器。在新域中使用復(fù)制收集器有很多意義,因?yàn)閼?yīng)用程序生成的大部分對(duì)象是短壽命的。理想狀態(tài)下,所有過渡對(duì)象在移出Eden空間時(shí)將被收集。如果能夠這樣的話,并且移出Eden空間的對(duì)象是長(zhǎng)壽命的,那么理論上可以立即把它們移進(jìn)舊域,避免在救助空間反復(fù)復(fù)制。但是,應(yīng)用程序不能適合這種理想狀態(tài),因?yàn)樗鼈冇幸恍〔糠种虚L(zhǎng)壽命的對(duì)象。最好是保持這些中長(zhǎng)壽命的對(duì)象并放在新域中,因?yàn)閺?fù)制小部分的對(duì)象總比壓縮舊域廉價(jià)。為控制新域中對(duì)象的復(fù)制,可用-XX:TargetSurvivorRatio控制救助空間的比例(該值是設(shè)置救助空間的使用比例。如救助空間位1M,該值50表示可用500K)。該值是一個(gè)百分比,默認(rèn)值是50。當(dāng)較大的堆棧使用較低的sruvivorratio時(shí),應(yīng)增加該值到80至90,以更好利用救助空間。用-XX:maxtenuring threshold可控制上限。

    ?? 為放置所有的復(fù)制全部發(fā)生以及希望對(duì)象從eden擴(kuò)展到舊域,可以把MaxTenuring Threshold設(shè)置成0。設(shè)置完成后,實(shí)際上就不再使用救助空間了,因此應(yīng)把SurvivorRatio設(shè)成最大值以最大化Eden空間,設(shè)置如下:
    ?? java … -XX:MaxTenuringThreshold=0 –XX:SurvivorRatio=50000 …
    posted on 2006-11-28 11:58 jspark 閱讀(655) 評(píng)論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产亚洲人成无码网在线观看 | 亚洲精品国产成人99久久| 久久久久久亚洲精品无码| 最近最好的中文字幕2019免费| 久久久久亚洲AV无码观看 | 日韩在线不卡免费视频一区| 亚洲AV无码专区国产乱码4SE| 国产免费一区二区视频| 亚洲处破女AV日韩精品| 一级毛片全部免费播放| 亚洲在成人网在线看| 在线观看H网址免费入口| 亚洲黄色激情视频| 暖暖免费高清日本中文| 污污的视频在线免费观看| 亚洲一级片免费看| 91免费在线视频| 亚洲天堂视频在线观看| 欧洲一级毛片免费| 亚洲色欲色欲www在线播放| 国产男女猛烈无遮挡免费视频网站| 美女裸体无遮挡免费视频网站| 亚洲色婷婷综合开心网| 182tv免费视频在线观看| 久久亚洲AV无码精品色午夜麻豆| 成年人免费视频观看| 免费无码AV一区二区| 亚洲AV中文无码乱人伦下载 | 久久免费精品一区二区| 亚洲国产品综合人成综合网站| 成年女人免费碰碰视频| 爱情岛论坛免费视频| 亚洲高清专区日韩精品| 97性无码区免费| 日亚毛片免费乱码不卡一区| 久久亚洲精品成人综合| 四虎影院免费在线播放| 国产精品免费久久久久电影网| 亚洲精品动漫在线| 国产免费69成人精品视频| 国产免费拔擦拔擦8X高清在线人|