锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲片一区二区三区,亚洲不卡中文字幕,亚洲精品线路一在线观看http://www.tkk7.com/wangkx/articles/158518.html鏌タ鏌タTue, 06 Nov 2007 05:46:00 GMThttp://www.tkk7.com/wangkx/articles/158518.htmlhttp://www.tkk7.com/wangkx/comments/158518.htmlhttp://www.tkk7.com/wangkx/articles/158518.html#Feedback0http://www.tkk7.com/wangkx/comments/commentRss/158518.htmlhttp://www.tkk7.com/wangkx/services/trackbacks/158518.htmlJVM鍦ㄨ繍琛屾椂浼氫駭鐢熶笁涓狢lassLoader錛孊ootstrap ClassLoader銆丒xtension ClassLoader鍜孉ppClassLoader.鍏朵腑錛孊ootstrap鏄敤C++緙栧啓鐨勶紝鎴戜滑鍦↗ava涓湅涓嶅埌瀹冿紝鏄痭ull銆傚畠鐢ㄦ潵鍔犺澆鏍稿績綾誨簱錛屽湪JVM婧愪唬鐮佷腑榪欐牱鍐欓亾錛?br /> static const char classpathFormat[] =
"%/lib/rt.jar:"
"%/lib/i18n.jar:"
"%/lib/sunrsasign.jar:"
"%/lib/jsse.jar:"
"%/lib/jce.jar:"
"%/lib/charsets.jar:"
"%/classes";
鐭ラ亾涓轟粈涔堜笉闇瑕佸湪classpath涓姞杞借繖浜涚被浜嗗惂錛熶漢瀹跺湪JVM鍚姩鐨勬椂鍊欏氨鑷姩鍔犺澆浜嗭紝騫朵笖鍦ㄨ繍琛岃繃紼嬩腑鏍規湰涓嶈兘淇敼Bootstrap鍔犺澆璺緞銆?br /> Extension ClassLoader鐢ㄦ潵鍔犺澆鎵╁睍綾伙紝鍗?lib/ext涓殑綾匯?br /> 鏈鍚嶢ppClassLoader鎵嶆槸鍔犺澆Classpath鐨勩?br /> ClassLoader鍔犺澆綾葷敤鐨勬槸濮旀墭妯″瀷銆傚嵆鍏堣Parent綾?鑰屼笉鏄疭uper錛屼笉鏄戶鎵垮叧緋?瀵繪壘錛孭arent鎵句笉鍒版墠鑷繁鎵俱傜湅鏉lassLoader榪樻槸铔瓭欏虹殑銆備笁鑰呯殑鍏崇郴涓?AppClassLoader鐨凱arent鏄疎xtClassLoader錛岃孍xtClassLoader鐨凱arent涓築ootstrap ClassLoader銆傚姞杞戒竴涓被鏃訛紝棣栧厛BootStrap鍏堣繘琛屽鎵撅紝鎵句笉鍒板啀鐢盓xtClassLoader瀵繪壘錛屾渶鍚庢墠鏄疉ppClassLoader銆?br /> 涓轟粈涔堣璁捐鐨勮繖涔堝鏉傚憿錛熷叾涓竴涓噸瑕佸師鍥犲氨鏄畨鍏ㄦс傛瘮濡傚湪Applet涓紝濡傛灉緙栧啓浜嗕竴涓猨ava.lang.String綾誨茍鍏鋒湁鐮村潖鎬с傚亣濡備笉閲囩敤榪欑濮旀墭鏈哄埗錛屽氨浼氬皢榪欎釜鍏鋒湁鐮村潖鎬х殑String鍔犺澆鍒頒簡鐢ㄦ埛鏈哄櫒涓婏紝瀵艱嚧鐮村潖鐢ㄦ埛瀹夊叏銆備絾閲囩敤榪欑濮旀墭鏈哄埗鍒欎笉浼氬嚭鐜拌繖縐嶆儏鍐點傚洜涓鴻鍔犺澆java.lang.String綾繪椂錛岀郴緇熸渶緇堜細鐢盉ootstrap榪涜鍔犺澆錛岃繖涓叿鏈夌牬鍧忔х殑String姘歌繙娌℃湁鏈轟細鍔犺澆銆?br /> 鎴戜滑鏉ョ湅榪欐浠g爜錛?br /> //A.java
public class A{
public static void main(String[] args){
A a=new A();
System.out.println(System.getProperty("java.ext.dirs"));
System.out.println(a.getClass().getClassLoader());
B b=new B();
b.print();
}
}
//B.java
public class B{
public void print(){
System.out.println(this.getClass().getClassLoader());
}
}
1銆佹垜浠皢瀹冩斁鍦–lasspath涓紝鍒欐墦鍗板嚭
sun.misc.Launcher$AppClassLoader@92e78c
sun.misc.Launcher$AppClassLoader@92e78c
鍙閮芥槸鐢盇ppClassLoader鏉ュ姞杞界殑銆?br /> 2銆佹垜浠皢鍏舵斁鍦?jre%/lib/ext/classes(鍗矱xtClassLoader鐨勫姞杞界洰褰曘傚叾鍔犺澆/lib/ext涓殑jar鏂囦歡鎴栬呭瓙鐩綍classes涓殑class鏂囦歡)涓傚垯浼氭墦鍗板嚭錛?br /> sun.misc.Launcher$ExtClassLoader
sun.misc.Launcher$ExtClassLoader
3銆佹垜浠皢A.class鏀懼埌%jre%/lib/ext/classes涓紝鑰屽皢B.class鏀懼埌classpaht涓張浼氭庝箞鏍峰憿錛熺粨鏋滄槸錛?br /> sun.misc.Launcher$ExtClassLoader
Exception in thread "main" java.lang.NoClassDefFoundError:B
at A.main(A.java:6)
鎬庝箞浼氳繖鏍峰憿錛熻繖鍏朵腑鏈変竴涓噸瑕佺殑闂錛欰綾誨綋鐒舵槸鐢盓xtClassLoader鏉ュ姞杞界殑錛孊綾昏鐢卞摢涓姞杞藉憿錛烞綾昏鐢辮皟鐢ㄥ畠鑷繁鐨勭被鐨勭被鍔犺澆鍣?鐪熸嫍鍙?銆備篃灝辨槸璇達紝A璋冪敤浜咮錛屾墍浠鐢盇鐨勭被鍔犺澆鍣‥xtClassLoader鏉ュ姞杞姐侲xtClassLoader鏍規嵁濮旀墭鏈哄埗錛屽厛鎷滄墭Bootstrap鍔犺澆錛孊ootstrap娌℃湁鎵懼埌銆傜劧鍚庡畠鍐嶈嚜宸卞鎵綛綾伙紝榪樻槸娌℃壘鍒幫紝鎵浠ユ姏鍑哄紓甯搞侲xtClassLoader涓嶄細璇鋒眰AppClassLoader鏉ュ姞杞?浣犲彲鑳戒細鎯籌細榪欑畻浠涔堥棶棰橈紝鎴戞妸涓や釜綾繪斁鍒頒竴璧蜂笉灝辮浜嗭紵
鍛靛懙錛屾病榪欎箞綆鍗曘傛瘮濡侸DBC鏄牳蹇冪被搴擄紝鑰屽悇涓暟鎹簱鐨凧DBC椹卞姩鍒欐槸鎵╁睍綾誨簱鎴栧湪classpath涓畾涔夌殑銆傛墍浠DBC鐢盉ootstrap ClassLoader鍔犺澆錛岃岄┍鍔ㄨ鐢盇ppClassLoader鍔犺澆銆傜瓑絳夛紝闂鏉ヤ簡錛孊ootstrap涓嶄細璇鋒眰AppClassLoader鍔犺澆綾誨晩銆傞偅涔堬紝浠栦滑鎬庝箞瀹炵幇鐨勫憿錛熸垜灝辨秹鍙婂埌涓涓狢ontext ClassLoader鐨勯棶棰橈紝璋冪敤Thread.getContextClassLoader銆?/p>

鏌タ 2007-11-06 13:46 鍙戣〃璇勮
]]>
JDK5.0鍨冨溇鏀墮泦浼樺寲http://www.tkk7.com/wangkx/articles/158358.html鏌タ鏌タMon, 05 Nov 2007 13:22:00 GMThttp://www.tkk7.com/wangkx/articles/158358.htmlhttp://www.tkk7.com/wangkx/comments/158358.htmlhttp://www.tkk7.com/wangkx/articles/158358.html#Feedback0http://www.tkk7.com/wangkx/comments/commentRss/158358.htmlhttp://www.tkk7.com/wangkx/services/trackbacks/158358.html姹熷崡鐧借。錛屾渶鏂扮増閾炬帴錛?a >http://blog.csdn.net/calvinxiu/archive/2007/05/18/1614473.aspx錛岀増鏉冩墍鏈夛紝杞澆璇蜂繚鐣欏師鏂囬摼鎺ャ?

      鍘熸湰鎯蟲妸棰樼洰鏇寸畝鍗曠殑瀹氫負--銆婁笉瑕佸仠銆嬬殑錛屼絾榪樻槸鑷繁YY涓涓嬪氨綆椾簡銆?br />       Java寮鍙慡erver鏈澶х殑闅滅錛屽氨鏄疛DK1.4鐗堜箣鍓嶇殑鐨勪覆琛屽瀮鍦炬敹闆嗘満鍒朵細寮曡搗闀挎椂闂寸殑鏈嶅姟鏆傚仠錛屾槑鐧藉師鐞嗗悗錛屾兂鎯抽偅浜涚敤JDK1.3鍐橲erver鐨勫厛杈堬紝涓嶅緱涓嶅悗鎬曘?br />      濂藉湪JDK1.4宸插紑濮嬫敮鎸佸綰跨▼騫惰鐨勫悗鍙板瀮鍦炬敹闆嗙畻娉曪紝JDK5.0鍒欎紭鍖栦簡榛樿鍊肩殑璁劇疆銆?

涓銆佸弬鑰冭祫鏂欙細

  1. Tuning Garbage Collection with the 5.0 Java Virtual Machine 瀹樻柟鎸囧崡銆?
  2. Hotspot memory management whitepaper 瀹樻柟鐧界毊涔︺?
  3. Java Tuning White Paper 瀹樻柟鏂囨。銆?
  4. FAQ about Garbage Collection in the Hotspot  瀹樻柟FAQ錛孞VM1.4.2銆?
  5. Java HotSpot 铏氭嫙鏈轟腑鐨勫瀮鍦炬敹闆?/font> JavaOne2004涓婄殑涓枃ppt
  6. A Collection of JVM Options JVM閫夐」鐨勮秴瀹屾暣鏀墮泦銆?

浜屻佸熀鏈蹇?/strong>

1銆佸爢(Heap)

JVM綆$悊鐨勫唴瀛樺彨鍫嗐傚湪32Bit鎿嶄綔緋葷粺涓婃湁1.5G-2G鐨勯檺鍒訛紝鑰?4Bit鐨勫氨娌℃湁銆?

JVM鍒濆鍒嗛厤鐨勫唴瀛樼敱-Xms鎸囧畾錛岄粯璁ゆ槸鐗╃悊鍐呭瓨鐨?/64浣嗗皬浜?G銆?

JVM鏈澶у垎閰嶇殑鍐呭瓨鐢?Xmx鎸囧畾錛岄粯璁ゆ槸鐗╃悊鍐呭瓨鐨?/4浣嗗皬浜?G銆?

榛樿絀轟綑鍫嗗唴瀛樺皬浜?0%鏃訛紝JVM灝變細澧炲ぇ鍫嗙洿鍒?Xmx鐨勬渶澶ч檺鍒訛紝鍙互鐢?XX:MinHeapFreeRatio=鎸囧畾銆?
榛樿絀轟綑鍫嗗唴瀛樺ぇ浜?0%鏃訛紝JVM浼氬噺灝戝爢鐩村埌-Xms鐨勬渶灝忛檺鍒訛紝鍙互鐢?XX:MaxHeapFreeRatio=鎸囧畾銆?

鏈嶅姟鍣ㄤ竴鑸緗?Xms銆?Xmx鐩哥瓑浠ラ伩鍏嶅湪姣忔GC 鍚庤皟鏁村爢鐨勫ぇ灝忥紝鎵浠ヤ笂闈㈢殑涓や釜鍙傛暟娌″暐鐢ㄣ?nbsp;

2.鍩烘湰鏀墮泦綆楁硶

  1. 澶嶅埗錛氬皢鍫嗗唴鍒嗘垚涓や釜鐩稿悓絀洪棿錛屼粠鏍?ThreadLocal鐨勫璞★紝闈欐佸璞★級寮濮嬭闂瘡涓涓叧鑱旂殑媧昏穬瀵硅薄錛屽皢絀洪棿A鐨勬椿璺冨璞″叏閮ㄥ鍒跺埌絀洪棿B錛岀劧鍚庝竴嬈℃у洖鏀舵暣涓┖闂碅銆?br /> 鍥犱負鍙闂椿璺冨璞★紝灝嗘墍鏈夋椿鍔ㄥ璞″鍒惰蛋涔嬪悗灝辨竻絀烘暣涓┖闂達紝涓嶇敤鍘昏闂瀵硅薄錛屾墍浠ラ亶鍘嗙┖闂寸殑鎴愭湰杈冨皬錛屼絾闇瑕佸法澶х殑澶嶅埗鎴愭湰鍜岃緝澶氱殑鍐呭瓨銆?
  2. 鏍囪娓呴櫎(mark-sweep)錛?/strong>鏀墮泦鍣ㄥ厛浠庢牴寮濮嬭闂墍鏈夋椿璺冨璞★紝鏍囪涓烘椿璺冨璞°傜劧鍚庡啀閬嶅巻涓嬈℃暣涓唴瀛樺尯鍩燂紝鎶婃墍鏈夋病鏈夋爣璁版椿璺冪殑瀵硅薄榪涜鍥炴敹澶勭悊銆傝綆楁硶閬嶅巻鏁翠釜絀洪棿鐨勬垚鏈緝澶ф殏鍋滄椂闂撮殢絀洪棿澶у皬綰挎у澶э紝鑰屼笖鏁寸悊鍚庡爢閲岀殑紕庣墖寰堝銆?
  3. 鏍囪鏁寸悊(mark-sweep-compact)錛?/strong>緇煎悎浜嗕笂榪頒袱鑰呯殑鍋氭硶鍜屼紭鐐癸紝鍏堟爣璁版椿璺冨璞★紝鐒跺悗灝嗗叾鍚堝茍鎴愯緝澶х殑鍐呭瓨鍧椼?

    鍙錛屾病鏈夊厤璐圭殑鍗堥錛屾棤璁洪噰鐢ㄥ鍒惰繕鏄爣璁版竻闄ょ畻娉曪紝鑷姩鐨勪笢瑗塊兘瑕佷粯鍑哄緢澶х殑鎬ц兘浠d環銆?

3.鍒嗕唬

    鍒嗕唬鏄疛ava鍨冨溇鏀墮泦鐨勪竴澶т寒鐐癸紝鏍規嵁瀵硅薄鐨勭敓鍛藉懆鏈熼暱鐭紝鎶婂爢鍒嗕負3涓唬錛歒oung錛孫ld鍜孭ermanent錛屾牴鎹笉鍚屼唬鐨勭壒鐐歸噰鐢ㄤ笉鍚岀殑鏀墮泦綆楁硶錛屾壃闀塊伩鐭篃銆?

Young(Nursery)錛屽勾杞諱唬銆傜爺絀惰〃鏄庡ぇ閮ㄥ垎瀵硅薄閮芥槸鏈濈敓鏆錛岄殢鐢熼殢鐏殑銆傚洜姝ゆ墍鏈夋敹闆嗗櫒閮戒負騫磋交浠i夋嫨浜嗗鍒剁畻娉曘?br />     澶嶅埗綆楁硶浼樼偣鏄彧璁塊棶媧昏穬瀵硅薄錛岀己鐐規槸澶嶅埗鎴愭湰楂樸傚洜涓哄勾杞諱唬鍙湁灝戦噺鐨勫璞¤兘鐔埌鍨冨溇鏀墮泦錛屽洜姝ゅ彧闇灝戦噺鐨勫鍒舵垚鏈傝屼笖澶嶅埗鏀墮泦鍣ㄥ彧璁塊棶媧昏穬瀵硅薄錛屽閭d簺鍗犱簡鏈澶ф瘮鐜囩殑姝誨璞¤鑰屼笉瑙侊紝鍏呭垎鍙戞尌浜嗗畠閬嶅巻絀洪棿鎴愭湰浣庣殑浼樼偣銆?

    Young鐨勯粯璁ゅ間負4M錛岄殢鍫嗗唴瀛樺澶э紝綰︿負1/15錛孞VM浼氭牴鎹儏鍐靛姩鎬佺鐞嗗叾澶у皬鍙樺寲銆?br />     -XX:NewRatio= 鍙傛暟鍙互璁劇疆Young涓嶰ld鐨勫ぇ灝忔瘮渚嬶紝-server鏃墮粯璁や負1:2錛屼絾瀹為檯涓妝oung鍚姩鏃惰繙浣庝簬榪欎釜姣旂巼錛熷鏋滀俊涓嶈繃JVM錛屼篃鍙互鐢?Xmn紜ц瀹氬叾澶у皬錛屾湁鏂囨。鎺ㄨ崘璁句負Heap鎬誨ぇ灝忕殑1/4銆?

    Young鐨勫ぇ灝忛潪甯擱潪甯擱噸瑕侊紝瑙?#8220;鍚庨潰鏆傚仠鏃墮棿浼樺厛鏀墮泦鍣?#8221;鐨勮榪般?

    Young閲岄潰鍙堝垎涓?涓尯鍩燂紝涓涓狤den錛屾墍鏈夋柊寤哄璞¢兘浼氬瓨鍦ㄤ簬璇ュ尯錛屼袱涓猄urvivor鍖猴紝鐢ㄦ潵瀹炴柦澶嶅埗綆楁硶銆傛瘡嬈″鍒跺氨鏄皢Eden鍜岀涓鍧桽urvior鐨勬椿瀵硅薄澶嶅埗鍒扮2鍧楋紝鐒跺悗娓呯┖Eden涓庣涓鍧桽urvior銆侲den涓嶴urvivor鐨勬瘮渚嬬敱-XX:SurvivorRatio=璁劇疆錛岄粯璁や負32銆係urvivio澶т簡浼氭氮璐癸紝灝忎簡鐨勮瘽錛屼細浣夸竴浜涘勾杞誨璞℃綔閫冨埌鑰佷漢鍖猴紝寮曡搗鑰佷漢鍖虹殑涓嶅畨錛屼絾榪欎釜鍙傛暟瀵規ц兘騫朵笉閲嶈銆?nbsp;

Old(Tenured)錛屽勾鑰佷唬銆傚勾杞諱唬鐨勫璞″鏋滆兘澶熸尯榪囨暟嬈℃敹闆嗭紝灝變細榪涘叆鑰佷漢鍖恒傝佷漢鍖轟嬌鐢ㄦ爣璁版暣鐞嗙畻娉曘傚洜涓鴻佷漢鍖虹殑瀵硅薄閮芥病閭d箞瀹規槗姝葷殑錛岄噰鐢ㄥ鍒剁畻娉曞氨瑕佸弽澶嶇殑澶嶅埗瀵硅薄錛屽緢涓嶅悎綆楋紝鍙ソ閲囩敤鏍囪娓呯悊綆楁硶錛屼絾鏍囪娓呯悊綆楁硶鍏跺疄涔熶笉杞繪澗錛屾瘡嬈¢兘瑕侀亶鍘嗗尯鍩熷唴鎵鏈夊璞★紝鎵浠ヨ繕鏄病鏈夊厤璐圭殑鍗堥鍟娿?

-XX:MaxTenuringThreshold=璁劇疆鐔繃騫磋交浠e灝戞鏀墮泦鍚庣Щ鍏ヨ佷漢鍖猴紝CMS涓粯璁や負0錛岀啲榪囩涓嬈C灝辮漿鍏ワ紝鍙互鐢?XX:+PrintTenuringDistribution鏌ョ湅銆?

Permanent錛屾寔涔呬唬銆?/strong>瑁呰澆Class淇℃伅絳夊熀紜鏁版嵁錛岄粯璁?4M錛屽鏋滄槸綾誨緢澶氬緢澶氱殑鏈嶅姟紼嬪簭錛岄渶瑕佸姞澶у叾璁劇疆-XX:MaxPermSize=錛屽惁鍒欏畠婊′簡涔嬪悗浼氬紩璧穎ullgc()鎴朞ut of Memory銆?娉ㄦ剰Spring錛孒ibernate榪欑被鍠滄AOP鍔ㄦ佺敓鎴愮被鐨勬鏋墮渶瑕佹洿澶氱殑鎸佷箙浠e唴瀛樸?

4.minor/major collection

    姣忎釜浠f弧浜嗕箣鍚庨兘浼氫績鍙慶ollection錛岋紙鍙﹀Concurrent Low Pause Collector榛樿鍦ㄨ佷漢鍖?8%鐨勬椂鍊欎績鍙?銆侴C鐢ㄨ緝楂樼殑棰戠巼瀵箉oung榪涜鎵弿鍜屽洖鏀訛紝榪欑鍙仛minor collection銆?br /> 鑰屽洜涓烘垚鏈叧緋誨Old鐨勬鏌ュ洖鏀墮鐜囪浣庡緢澶氾紝鍚屾椂瀵筜oung鍜孫ld鐨勬敹闆嗙О涓簃ajor collection銆?br />     System.gc()浼氬紩鍙憁ajor collection錛屼嬌鐢?XX:+DisableExplicitGC紱佹瀹冿紝鎴栬涓篊MS騫跺彂-XX:+ExplicitGCInvokesConcurrent銆?

5.灝忕粨

Young -- minor collection -- 澶嶅埗綆楁硶

Old(Tenured) -- major colletion -- 鏍囪娓呴櫎/鏍囪鏁寸悊綆楁硶

涓夈佹敹闆嗗櫒

1.鍙よ佺殑涓茶鏀墮泦鍣?Serial Collector)

    浣跨敤 -XX:+UseSerialGC錛岀瓥鐣ヤ負騫磋交浠d覆琛屽鍒訛紝騫磋佷唬涓茶鏍囪鏁寸悊銆?

2.鍚炲悙閲忎紭鍏堢殑騫惰鏀墮泦鍣?Throughput Collector)

    浣跨敤 -XX:+UseParallelGC 錛屼篃鏄疛DK5 -server鐨勯粯璁ゅ箋傜瓥鐣ヤ負錛?br />     1.騫磋交浠f殏鍋滃簲鐢ㄧ▼搴忥紝澶氫釜鍨冨溇鏀墮泦綰跨▼騫惰鐨勫鍒舵敹闆嗭紝綰跨▼鏁伴粯璁や負CPU涓暟錛孋PU寰堝鏃訛紝鍙敤–XX:ParallelGCThreads=鍑忓皯綰跨▼鏁般?br />     2.騫磋佷唬鏆傚仠搴旂敤紼嬪簭錛屼笌涓茶鏀墮泦鍣ㄤ竴鏍鳳紝鍗曞瀮鍦炬敹闆嗙嚎紼嬫爣璁版暣鐞嗐?

    鎵浠ラ渶瑕?+鐨凜PU鏃舵墠浼氫紭浜庝覆琛屾敹闆嗗櫒錛岄傜敤浜庡悗鍙板鐞嗭紝縐戝璁$畻銆?

    鍙互浣跨敤-XX:MaxGCPauseMillis= 鍜?-XX:GCTimeRatio 鏉ヨ皟鏁碐C鐨勬椂闂淬?

3.鏆傚仠鏃墮棿浼樺厛鐨勫茍鍙戞敹闆嗗櫒(Concurrent Low Pause Collector-CMS)

    鍓嶉潰璇翠簡榪欎箞澶氾紝閮芥槸涓轟簡榪欒妭鍋氶摵鍨?.....

    浣跨敤-XX:+UseConcMarkSweepGC錛岀瓥鐣ヤ負錛?br />     1.騫磋交浠e悓鏍鋒槸鏆傚仠搴旂敤紼嬪簭錛屽涓瀮鍦炬敹闆嗙嚎紼嬪茍琛岀殑澶嶅埗鏀墮泦銆?br />     2.騫磋佷唬鍒欏彧鏈変袱嬈$煭鏆傚仠錛屽叾浠栨椂闂村簲鐢ㄧ▼搴忎笌鏀墮泦綰跨▼騫跺彂鐨勬竻闄ゃ?

3.1 騫磋佷唬璇﹁堪

    騫惰(Parallel)涓庡茍鍙?Concurrent)浠呬竴瀛椾箣宸紝騫惰鎸囧鏉″瀮鍦炬敹闆嗙嚎紼嬪茍琛岋紝騫跺彂鎸囩敤鎴風嚎紼嬩笌鍨冨溇鏀墮泦綰跨▼騫跺彂錛岀▼搴忓湪緇х畫榪愯錛岃屽瀮鍦炬敹闆嗙▼搴忚繍琛屼簬鍙︿竴涓釜CPU涓娿?

    騫跺彂鏀墮泦涓寮濮嬩細寰堢煭鏆傜殑鍋滄涓嬈℃墍鏈夌嚎紼嬫潵寮濮嬪垵濮嬫爣璁版牴瀵硅薄錛岀劧鍚庢爣璁扮嚎紼嬩笌搴旂敤綰跨▼涓璧峰茍鍙戣繍琛岋紝鏈鍚庡張寰堢煭鐨勬殏鍋滀竴嬈★紝澶氱嚎紼?strong>騫惰鐨勯噸鏂版爣璁頒箣鍓嶅彲鑳藉洜涓哄茍鍙戣屾紡鎺夌殑瀵硅薄錛岀劧鍚庡氨寮濮嬩笌搴旂敤紼嬪簭騫跺彂鐨勬竻闄よ繃紼嬨傚彲瑙侊紝鏈闀跨殑涓や釜閬嶅巻榪囩▼閮芥槸涓庡簲鐢ㄧ▼搴忓茍鍙戞墽琛岀殑錛屾瘮浠ュ墠鐨勪覆琛岀畻娉曟敼榪涘お澶氬お澶氫簡錛侊紒錛?

    涓茶鏍囪娓呴櫎鏄瓑騫磋佷唬婊′簡鍐嶅紑濮嬫敹闆嗙殑錛岃屽茍鍙戞敹闆嗗洜涓鴻涓庡簲鐢ㄧ▼搴忎竴璧瘋繍琛岋紝濡傛灉婊′簡鎵嶆敹闆嗭紝搴旂敤紼嬪簭灝辨棤鍐呭瓨鍙敤錛屾墍浠ョ郴緇熼粯璁?8%婊$殑鏃跺欏氨寮濮嬫敹闆嗐傚唴瀛樺凡璁懼緱杈冨ぇ錛屽悆鍐呭瓨鍙堟病鏈夎繖涔堝揩鐨勬椂鍊欙紝鍙互鐢?XX:CMSInitiatingOccupancyFraction=鎭板綋澧炲ぇ璇ユ瘮鐜囥?

3.2 騫磋交浠h榪?/strong>

   鍙儨瀵瑰勾杞諱唬鐨勫鍒舵敹闆嗭紝渚濈劧蹇呴』鍋滄鎵鏈夊簲鐢ㄧ▼搴忕嚎紼嬶紝鍘熺悊濡傛錛屽彧鑳介潬澶欳PU錛屽鏀墮泦綰跨▼騫跺彂鏉ユ彁楂樻敹闆嗛熷害錛屼絾闄ら潪浣犵殑Server鐙崰鏁村彴鏈嶅姟鍣紝鍚﹀垯濡傛灉鏈嶅姟鍣ㄤ笂鏈韓榪樻湁寰堝鍏朵粬綰跨▼鏃訛紝鍒囨崲璧鋒潵閫熷害灝?.... 鎵浠ワ紝鎼炲埌鏈鍚庯紝鏆傚仠鏃墮棿鐨勭摱棰堝氨钀藉湪浜嗗勾杞諱唬鐨勫鍒剁畻娉曚笂銆?

    鍥犳Young鐨勫ぇ灝忚緗尯閲嶈鐨勶紝澶х偣灝變笉鐢ㄩ綣丟C錛岃屼笖澧炲ぇGC鐨勯棿闅斿悗錛屽彲浠ヨ澶氱偣瀵硅薄鑷繁姝繪帀鑰屼笉鐢ㄥ鍒朵簡銆備絾Young澧炲ぇ鏃訛紝GC閫犳垚鐨勫仠欏挎椂闂存攢鍗囧緱闈炲父鎭愭栵紝姣斿鍦ㄦ垜鐨勬満鍣ㄤ笂錛岄粯璁?M鐨刌oung錛屽彧闇瑕佸嚑姣鐨勬椂闂達紝64M灝卞崌鍒?0姣錛岃屽崌鍒?56M鏃訛紝灝辮鍒?00姣浜嗭紝宄板艱繕浼氭攢鍒版亹鎬栫殑800ms銆傝皝鍙鍒剁畻娉曪紝瑕佺瓑Young婊′簡鎵嶅紑濮嬫敹闆嗭紝寮濮嬫敹闆嗗氨瑕佸仠姝㈡墍鏈夌嚎紼嬪憿銆?

3.3 鎸佷箙浠?/strong>

鍙緗?XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled錛屼嬌CMS鏀墮泦鎸佷箙浠g殑綾伙紝鑰屼笉鏄痜ullgc錛宯etbeans5.5 performance鏂囨。鐨勬帹鑽愩?/code>

4.澧為噺(train綆楁硶)鏀墮泦鍣?Incremental Collector)

宸插仠姝㈢淮鎶わ紝–Xincgc閫夐」榛樿杞負騫跺彂鏀墮泦鍣ㄣ?

鍥涖佹殏鍋滄椂闂存樉紺?/strong>

 鍔犲叆涓嬪垪鍙傛暟 (璇峰皢PrintGC鍜孌etails涓棿鐨勭┖鏍煎幓鎺夛紝CSDN寰堟殑璁や負鏄姝㈠瓧鍙ワ級 

-verbose:gc -XX:+PrintGC Details  -XX:+PrintGCTimeStamps

浼氱▼搴忚繍琛岃繃紼嬩腑灝嗘樉紺哄涓嬭緭鍑?

 9.211: [GC 9.211: [ParNew: 7994K->0K(8128K), 0.0123935 secs] 427172K->419977K(524224K), 0.0125728 secs]

 鏄劇ず鍦ㄧ▼搴忚繍琛岀殑9.211縐掑彂鐢熶簡Minor鐨勫瀮鍦炬敹闆嗭紝鍓嶄竴孌墊暟鎹拡瀵規柊鐢熷尯錛屼粠7994k鏁寸悊涓?k錛屾柊鐢熷尯鎬誨ぇ灝忎負8128k錛岀▼搴忔殏鍋滀簡12ms錛岃屽悗涓孌墊暟鎹拡瀵規暣涓爢銆?

瀵逛簬騫磋佷唬鐨勬敹闆嗭紝鏆傚仠鍙戠敓鍦ㄤ笅闈袱涓樁孌碉紝CMS-remark鐨勪腑鏂槸17姣錛?

[GC [1 CMS-initial-mark: 80168K(196608K)] 81144K(261184K), 0.0059036 secs] 

[1 CMS-remark: 80168K(196608K)] 82493K(261184K),0.0168943 secs]

鍐嶅姞涓や釜鍙傛暟 -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime瀵規殏鍋滄椂闂寸湅寰楁洿娓呮櫚銆?

浜斻佺湡姝d笉鍋滅殑BEA JRockit 涓嶴un RTS2.0

   Bea鐨?a >JRockit 5.0 R27 鐨勭壒鑹蹭箣涓鏄姩鎬佸喅瀹氱殑鍨冨溇鏀墮泦絳栫暐錛岀敤鎴峰彲浠ュ喅瀹氳嚜宸卞叧蹇冪殑鏄悶鍚愰噺錛屾殏鍋滄椂闂磋繕鏄‘瀹氱殑鏆傚仠鏃墮棿錛屽啀鐢盝VM鍦ㄨ繍琛屾椂鍔ㄦ佸喅瀹氥佹敼鍙樻敼鍙樺瀮鍦炬敹闆嗙瓥鐣ャ?br />    
   瀹冪殑Deterministic GC鐨勯夐」鏄?Xgcprio: deterministic錛屽彿縐板彲浠ユ妸鏆傚仠鍙互鎺у埗鍦?0-30姣錛岄潪甯哥殑鐗涳紝涓鍙eterministic閬撳敖浜哛ealTime鐨勭湡璋涖?涓嶈繃緇嗙湅涓涓嬫枃妗o紝30ms鐨勬祴璇曠幆澧冩槸1 GB heap 鍜?騫沖潎  30% 鐨勬椿璺冨璞?涔熷氨鏄?00M)媧誨姩瀵硅薄錛? 涓?Xeon 3.6 GHz  4G鍐呭瓨 錛屾垨鑰呮槸4 涓猉eon 2.0 GHz錛?G鍐呭瓨銆?

  鏈鍙儨JRockt鐨刲icense寰堝鎬紝铏界劧騫蟲椂浣跨敤鍏嶈垂錛屼絾榪欎釜30ms鐨勯夐」灝遍渶瑕佽喘涔版暣涓猈eblogic Real Time Server鐨刲icense銆?nbsp;

  鍏朵粬鍏嶈垂閫夐」錛屾湁錛?/p>

  • -Xgcprio:pausetime -Xpausetarget=210ms 
      鍥犱負鍏嶈垂錛屾墍浠ユ渶浣庡彧鑳借緗埌200ms pause target銆?nbsp;200ms鏄疭un璁や負Real-Time鐨勫垎鐣岀嚎銆?
  • -Xgc:gencon
    鏅氱殑騫跺彂鍋氭硶錛屾晥鐜囦篃涓嶉敊銆?

  JavaOne2007涓婃湁Sun鐨?Java Real-Time System 2.0 鐨勪粙緇嶏紝RTS2.0鍩轟簬JDK1.5錛屽湪Real-Time  Garbage Collctor涓婂張鏈夋敼榪涳紝浣嗚繕鍦╞eta鐗堢姸鎬侊紝鍙緵緇橭EM錛屾洿鎬?

鍏丣DK 6.0鐨勬敼榪?/strong>

鍥犱負JDK5.0鍦╕oung杈冨ぇ鏃剁殑琛ㄧ幇榪樻槸涓嶅璁╀漢婊℃剰錛屽張緇х畫鐪婮DK6.0鐨勬敼榪涳紝緇撴灉紼嶇◢澶辨湜錛屼笉娑夊強鎴戞渶澶寸棝鐨勫勾杞諱唬澶嶅埗鏀墮泦鏀硅壇銆?

1.騫磋佷唬鐨勬爣璇?娓呴櫎鏀墮泦錛屽茍琛屾墽琛屾爣璇?/strong>
  JDK5.0鍙紑浜嗕竴鏉℃敹闆嗚繘紼嬩笌搴旂敤綰跨▼騫跺彂鏍囪瘑錛岃?.0鍙互寮澶氭潯鏀墮泦綰跨▼鏉ュ仛鏍囪瘑錛岀緝鐭爣璇嗚佷漢鍖烘墍鏈夋椿鍔ㄥ璞$殑鏃墮棿銆?

2.鍔犲ぇ浜哬oung鍖虹殑榛樿澶у皬
榛樿澶у皬浠?M鍔犲埌16M錛屼粠鍫嗗唴瀛樼殑1/15澧炲姞鍒?/7

3.System.gc()鍙互涓庡簲鐢ㄧ▼搴忓茍鍙戞墽琛?/strong>
浣跨敤-XX:+ExplicitGCInvokesConcurrent 璁劇疆

涓冦佸皬緇?/strong>

1. JDK5.0/6.0

瀵逛簬鏈嶅姟鍣ㄥ簲鐢紝鎴戜滑浣跨敤Concurrent Low Pause Collector錛屽騫磋交浠o紝鏆傚仠鏃跺綰跨▼騫惰澶嶅埗鏀墮泦錛涘騫磋佷唬錛屾敹闆嗗櫒涓庡簲鐢ㄧ▼搴忓茍琛屾爣璁?-鏁寸悊鏀墮泦錛屼互杈懼埌灝介噺鐭殑鍨冨溇鏀墮泦鏃墮棿銆?

鏈潃娌℃湁娣卞埢嫻嬭瘯鍓嶄笉瑕佽儭涔變紭鍖栫殑瀹楁棬錛屽懡浠よ灞炴у彧闇綆鍗曞啓涓猴細

-server -Xms<heapsize>M -Xmx<heapsize>M -XX:+UseConcMarkSweepGC  -XX:+PrintGC Details  -XX:+PrintGCTimeStamps

鐒跺悗瑕佹牴鎹簲鐢ㄧ殑鎯呭喌錛屽湪嫻嬭瘯杞歡杈呭姪鍙互涓嬬湅鐪嬫湁娌℃湁JVM鐨勯粯璁ゅ煎拰鑷姩綆$悊鍋氱殑涓嶅鐨勫湴鏂瑰彲浠ヨ皟鏁達紝濡?xmn 璁綴oung鐨勫ぇ灝忥紝-XX:MaxPermSize璁炬寔涔呬唬澶у皬絳夈?

2. JRockit 6.0 R27.2

浣嗗洜涓篔DK5鐨勬祴璇曠粨鏋滃疄鍦ㄤ笉鑳芥弧鎰忥紝鍚庢潵鍙堝皾璇曚簡JRockit錛屾諱綋鏁堟灉瑕佸ソ浜涖?br />  JRockit鐨勭壒鐐規槸鍔ㄦ佸瀮鍦炬敹闆嗗櫒鏄牴鎹敤鎴峰叧蹇冪殑鐗瑰緛鍔ㄦ佸喅瀹氭敹闆嗙畻娉曠殑錛屽弬鏁板涓?/p>

 -Xms<heapsize>M -Xmx<heapsize>M -Xgcprio:pausetime -Xpausetarget=200ms -XgcReport -XgcPause -Xverbose:memory


鏌タ 2007-11-05 21:22 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲成AV人片在| 亚洲国产成人无码AV在线影院| 中文字幕天天躁日日躁狠狠躁免费| 亚洲婷婷综合色高清在线| 午夜毛片不卡免费观看视频| 亚洲av日韩综合一区二区三区| 国产亚洲精品不卡在线| 四虎精品视频在线永久免费观看| 亚洲中文字幕一二三四区| 亚洲成AⅤ人影院在线观看| 今天免费中文字幕视频| 亚洲欧美aⅴ在线资源| 色久悠悠婷婷综合在线亚洲| 18禁免费无码无遮挡不卡网站| 美女视频黄频a免费大全视频| 久久亚洲AV无码精品色午夜麻豆| 日本免费网站在线观看| a级大片免费观看| 亚洲人成欧美中文字幕| 五月天网站亚洲小说| 国产免费午夜a无码v视频| 精品一区二区三区免费毛片爱| 亚洲av纯肉无码精品动漫| 久久精品亚洲综合| 国产老女人精品免费视频| 最近免费中文字幕大全免费| 免费精品国产自产拍在线观看| 亚洲色大成网站www永久| 亚洲精品视频久久久| 国产精品成人免费视频网站京东| 中文字幕免费在线看线人动作大片| 亚洲综合在线一区二区三区| 亚洲高清国产拍精品26U| 精品少妇人妻AV免费久久洗澡| 久久99热精品免费观看动漫| 国产亚洲精品美女| 亚洲视频在线观看免费| 日韩不卡免费视频| 看成年女人免费午夜视频| 噜噜噜亚洲色成人网站∨| 精品亚洲成α人无码成α在线观看 |