OOM鐨勬剰鎬濇槸绋嬪簭鏈夋紡娲烇紝鍙兘鏄唬鐮佹垨鑰匤VM鍙傛暟閰嶇疆瀵艰嚧鐨勩€傛湰鏂囧拰璇昏€呰亰鑱奐ava杩涚▼瑙﹀彂OOM鍚庡浣曟帓鏌ヨ緭鍑轰唬鐮佽璁″拰鎬ц兘璋冧紭鍘熸枃涓轰粈涔圤OMOOM浠h〃鈥淥utOfMemory鈥濓紝鎰忔€濇槸鍐呭瓨鑰楀敖銆傚綋JVM娌℃湁瓒冲鐨勫唴瀛樹负瀵硅薄鍒嗛厤绌洪棿锛岃€屽瀮鍦惧洖鏀跺櫒娌℃湁绌洪棿鍙互鍥炴敹鏃讹紝灏变細鎶涘嚭杩欎釜閿欒銆備负浠€涔堜細鍑虹幇OOM锛熶竴鑸槸杩欎簺闂瀵艰嚧鍒嗛厤澶皯锛欽VM鍒濆鍖栧唴瀛樺皬锛屼笟鍔′娇鐢ㄥ唴瀛樺ぇ锛涙垨鑰呬笉鍚孞VM鍖哄煙鍐呭瓨鍒嗛厤涓嶅悎鐞嗐€傚唴瀛樻棤娉曞啀娆′娇鐢紝姝ゆ椂鍐呭瓨娉勬紡銆傚洜涓虹敵璇疯€呬笉鍐嶄娇鐢ㄤ簡锛屼笉鑳借铏氭嫙鏈哄垎閰嶇粰鍒汉銆傚唴瀛樻孩鍑猴細鐢宠鐨勫唴瀛樿秴杩囦簡JVM鎵€鑳芥彁渚涚殑鍐呭瓨澶у皬銆傝繖鏃跺€欙紝灏卞彨鍋氭孩鍑恒€傚唴瀛樻硠婕忔寔缁瓨鍦紝鏈€缁堜細婧㈠嚭銆備袱鑰呴兘鏄疌ommoncausalOOM姣旇緝甯歌鐨凮OM绫诲瀷鏈夊涓媕ava.lang.OutOfMemoryError:PermGenspaceJava7姘镐箙浠o紙鏂规硶鍖猴級婧㈠嚭锛岀敤浜庡瓨鍌ㄧ被淇℃伅锛屽父閲忥紝闈欐€佸彉閲忥紝just-in-time缂栬瘧宸茬粡琚櫄鎷熸満鍔犺浇鐨勭紪璇戜唬鐮佸拰鍏朵粬鏁版嵁銆傛瘡褰撶涓€娆″姞杞界被鏃讹紝鍏冩暟鎹皢瀛樺偍鍦ㄦ案涔呬唬涓€備竴鑸嚭鐜板湪澶ч噺鐨凜lass瀵硅薄鎴栬€匤SP椤甸潰涓紝鎴栬€呬娇鐢–gLib鍔ㄦ€佷唬鐞嗘妧鏈鎴戜滑鍙互閫氳繃-XX:PermSize鍜?XX:MaxPermSizeJava8淇敼鏂规硶鍖虹殑澶у皬锛屽皢姘镐箙浠f敼涓哄厓绌洪棿锛屾姤閿欙細java.lang.OutOfMemoryError:Metadataspace锛屽厓绌洪棿鍐呭瓨涓嶈冻锛岄粯璁よ繘琛屽姩鎬佹墿瀹广€傜殑銆傚鏋滃爢鏍堝ぇ灏忚缃緱澶皬锛屼篃浼氬彂鐢熸孩鍑恒€傛偍鍙互閫氳繃-Xss璁剧疆鍫嗘爤澶у皬銆傝櫄鎷熸満鎶涘嚭鏍堟孩鍑洪敊璇紝鍙互鍦ㄦ棩蹇椾腑瀹氫綅閿欒鐨勭被鍜屾柟娉昷ava.lang.OutOfMemoryError:JavaheapspaceJavaheapmemoryoverflow锛屾孩鍑虹殑鍘熷洜涓€鑸槸JVM鍫嗗唴瀛樿缃笉鍚堢悊鎴栬€呭唴瀛樻硠婕忋€傚鏋滄槸鍐呭瓨娉勬紡锛屽彲浠ヤ娇鐢ㄥ伐鍏锋煡鐪嬩粠娉勬紡瀵硅薄鍒癎CRoots鐨勫紩鐢ㄩ摼銆傞€氳繃鎺屾彙娉勯湶瀵硅薄鐨勭被鍨嬩俊鎭拰GCRoots寮曠敤閾句俊鎭紝鍙互鍑嗙‘瀹氫綅娉勯湶浠g爜鐨勪綅缃€傚鏋滄病鏈夊唴瀛樻硠婕忥紝涔熷氨鏄唴瀛樹腑鐨勫璞′竴瀹氳繕娲荤潃锛岄偅涔堝氨搴旇鏌ョ湅铏氭嫙鏈虹殑鍫嗗弬鏁帮紙-Xmx鍜?Xms锛夛紝鐪嬬湅铏氭嫙鏈虹殑鍐呭瓨鏄惁鍙互澧炲姞.鎬荤粨锛氭柟娉曞尯鍜岃櫄鎷熸満鏍堢殑婧㈠嚭鍦烘櫙鏈枃涓嶈繃澶氳璁恒€備笅闈富瑕佽瑙ava鍫嗙┖闂村父瑙丱OM鎺掓煡鎬濊矾鏌ョ湅JVM鍐呭瓨鍒嗗竷鍋囪鎴戜滑鐨凧ava搴旂敤PID涓?5162锛岃緭鍏ュ懡浠ゆ煡鐪婮VM鍐呭瓨鍒嗗竷jmap-heap15162[xxx@xxx~]#jmap-heap15162Attachingto杩涚▼ID15162锛岃绋嶇瓑...璋冭瘯鍣ㄩ檮鍔犳垚鍔熴€傛娴嬪埌鏈嶅姟鍣ㄧ紪璇戝櫒銆侸VM鐗堟湰涓?5.161-b12浣跨敤绾跨▼鏈湴瀵硅薄鍒嗛厤銆傛爣璁版壂鎻廋ompactGCHeap閰嶇疆锛歁inHeapFreeRatio=40#鏈€灏忓爢浣跨敤鐜嘙axHeapFreeRatio=70#鏈€澶у彲鐢ㄥ爢ratioMaxHeapSize=482344960(460.0MB)#鏈€澶у爢绌洪棿澶у皬NewSize=104857(10.0MB)#鏂扮敓浠e垎閰嶅ぇ灏廙axNewSize=160759808(153.3125MB)#鏈€澶ф柊鐢熶唬鍒嗛厤澶у皬OldSize=20971520(20.0MB)#鑰佸勾浠eぇ灏廚ewRatio=2#鏂扮敓浠f瘮鐜嘢urvivorRatio=8#鏂扮敓浠d笌骞稿瓨鑰呮瘮鐜嘙etaspaceSize=21807104(20.796875MB)#鍏冪┖闂村ぇ灏廋ompressedClassSpaceSize=1073741824(1024.0MB)#CompressedClassSpace绌洪棿澶у皬闄愬埗MaxMetaspaceSize=17592186044415MB#鏈€澶у厓绌洪棿澶у皬G1HeapRegionSize=0(0.0MB)#G1singleRegionsizeHeapUsage:#heapusageNewGeneration(Eden+1SurvivorSpace):#鏂扮敓浠e閲?9502720(9.0625MB)#鏂扮敓浠f€讳娇鐢ㄥ閲?4995320(4.763908386230469MB)#鏂扮敓浠e厤璐逛娇鐢?4507400(4.298591613769531MB)#鏂扮敓浠e墿浣欏閲?2.56726495150ed86usEdenSpace:capacity=84MBTotal)EdenareausedcapacityofEdenareaused=4029752(3.8430709838867188MB)#Edenareausedfree=4424392(4.219429016113281MB)#Edenarearemainingcapacityusageratio47.665909664Erom%:#1MBSurvivorarea鍐呴儴鍒嗛厤capacity=10487)used=(964375203)used=(964375203)free=83008(0.07916259765625MB)92.083740234375%usedToSpace:#1SurvivorRegionalIntrinsicDistributioncapacity=1048576(1.0MB)used=0(0.04MB)free=1(0.048MB)%usedtenuredgeneration:#鑰佸勾瀹归噺ITY=20971520锛?0.0MB锛変娇鐢?10611384锛?0.119804382324219MB锛塮ree=10360136锛?.880195617675781MB锛?0.59902191911621094锛呬娇鐢ㄤ簡10730indentedstringssertystringsringsringsringsringsringsringsringsringsringsringsringsringsoccup鍚堢悊鍙﹀鍙互鏌ョ湅JVM杩愯鏃舵渶鑰楄祫婧愮殑瀵硅薄锛宩map-histo:live15162|moreJVMmemoryobjectlist鏄寜鐓у璞nstances鐨勫唴瀛樺ぇ灏忔帓搴忕殑锛歩nstancenumberbytes:unitbyteclassname:classname寰堟槑鏄剧湅鍒癈ustomObjTest瀵硅薄Instances鍜屽お澶氱殑鍐呭瓨鍙儨瑙e喅鏂规鏈夊眬闄愭€э紝鍥犱负瀹冨彧鑳芥帓鏌モ€淸鈥濅唬琛ㄦ暟缁勭殑瀵硅薄鍐呭瓨鍗犵敤杩囧ぇ闂锛屼緥濡傗€淸C鈥濅唬琛–har鏁扮粍锛屸€淸B鈥濅唬琛˙yte鏁扮粍濡傛灉鏁扮粍鍐呭瓨鍗犵敤杩囧锛屾垜浠笉鐭ラ亾鏄摢浜涘璞℃寔鏈夊畠锛屾墍浠ユ垜浠渶瑕佸皢鍐呭瓨杞偍鍑烘潵杩涜绂荤嚎鍒嗘瀽jmap-histo:live鎵ц杩欐潯鍛戒护锛孞VM浼氬厛瑙﹀彂GC锛岀劧鍚庡啀鍒嗘瀽甯︽湁缁熻淇℃伅鐨勮浆鍌ㄦ枃浠躲€俤ump鏂囦欢鏄疛ava杩涚▼鍐呭瓨鏄犲儚锛屼富瑕佸寘鎷郴缁熶俊鎭€佽櫄鎷熸満灞炴€с€佸畬鏁寸殑threaddump銆佹墍鏈夌被鍜屽璞$殑鐘舵€佺瓑淇℃伅锛屽綋绋嬪簭鍑虹幇鍐呭瓨婧㈠嚭鎴朑C寮傚父鏃讹紝鎬€鐤戞槸JVM鍐呭瓨娉勬紡锛岄偅涔堟垜浠彲浠xportDump鏂囦欢鍒嗘瀽JVM鍚姩鍙傛暟閰嶇疆鍦↗VM鍑虹幇OOM寮傚父鏃舵坊鍔犲涓嬪弬鏁?XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=./锛堝弬鏁颁负dump鏂囦欢鐢熸垚璺緞锛夛紝dump鏂囦欢鑷姩瀵煎嚭锛屾枃浠跺悕榛樿鏍煎紡涓猴細java_pid{pid}涓婇潰閰嶇疆.hprof鏄负浜嗗湪搴旂敤鎶涘嚭OOM鍚庤嚜鍔ㄥ鍑篋ump锛屾垨鑰呭湪JVM杩愯jmap鏃跺鍑篋ump鏂囦欢-dump:file=[filepath][pid]#examplejmap-dump:file=./jvmdump.hprof15162鍦ㄦ湰鍦板啓涓€娈垫祴璇曚唬鐮侊紝楠岃瘉OOM锛屽垎鏋怐ump鏂囦欢銆傝缃櫄鎷熸満鍙傛暟锛?Xms3m-Xmx3m-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=./publicstaticvoidmain(String[]args){List
