解決jmap命令打印JVM堆信息異常的問題_第1頁
解決jmap命令打印JVM堆信息異常的問題_第2頁
解決jmap命令打印JVM堆信息異常的問題_第3頁
解決jmap命令打印JVM堆信息異常的問題_第4頁
解決jmap命令打印JVM堆信息異常的問題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、解決jmap命令打印JVM堆信息異常的問題5進(jìn)6程0的堆信息jmap命令可以打印ja進(jìn)程的JVM堆信息,今天在某臺機(jī)器上運(yùn)行該命令查看apjmap出現(xiàn)以下異常AttacJVMhingtoprocessID195pleaseagerattrcompiachedsuccessfuthreadcalobjectallocatiParallthread(apratiMHeapFreeRatMaxHeapFreeRatMaHeapSiz0MB).25MBMaMMB)RatioatiomSize5MB)MaPermSiz.0MB)eapRegiMB)apsage:Excepreadmainjava.laf

2、lect.InvocationTaraativeMeorImpl.invoke0(NataativeMeorImpl.invoke(NatiaelegatingMetcessorImpl.invoke(atjava.lang.ct.Met(Method.java:606)as.jmap.JMap.ruJMap.jva:197)as.jmap.JMap.main(JMap.java:1Causedby:java.lang.RuntimeExceptatsun.jvm.hotspos.Heapummary.run(HeapSummary.jaatsun.jvm.hotspo.start(Tool.

3、java:221)atsun.jvm.hotspos.Heapummary.main(HeapSummary.j.6m是因?yàn)闄C(jī)器上缺少openjdk-包或者機(jī)器上的pj包與j版本不一致導(dǎo)致Maeapa:1mpl.javampl.java是用jaa查看機(jī)器上的ja版本javajajajaVMpmpmpm命令安裝均滿足我的j版本,下載第一個(gè)進(jìn)行嘗試下載完成后使用pmjavapm安裝完成后使用查看是否在已安裝列表中,執(zhí)行命令顯示的確安裝成功mppmajava-1.7.0-openjdk-debuginfo-1.7.0再次執(zhí)行我最初想執(zhí)行的命令jmapap已經(jīng)能正常顯示JVM堆區(qū)信息AttacJVMh

4、ingtoprocesgerattachedsrcompilerdetsID19560,pleasewaead-localobjectallocation.Parallead(sapguratiMinHeapFreeRatMaxeapFreeRatiMaxeapS0MB25MB)Max4415MB1875MB)RatirRatioPermSize=21757952(20.75MB)MaxPermSize=174063616(166.0MB)G1HeapRegionSize=0(0.0MB)HeapUsage:PSYoungGenerationEdenSpace:capacity=5379194

5、88(513.0MB)used=532557632(507.88653564453125MB)free=5361856(5.11346435546875MB)99.00322332252071%usedFromSpace:capacity=89128960(85.0MB)used=0(0.0MB)free=89128960(85.0MB)0.0%usedToSpace:capacity=89128960(85.0MB)used=0(0.0MB)free=89128960(85.0MB)0.0%usedPSOldGenerationcapacity=1431306240(1365.0MB)use

6、d=844440(0.8053207397460938MB)free=1430461800(1364.194679260254MB)0.058997856391655217%usedPSPermGenerationcapacity=22020096(21.0MB)used=8512616(8.118263244628906MB)free=13507480(12.881736755371094MB)38.65839640299479%used3145internedStringsoccupying252104bytes.補(bǔ)充知識:JVM參數(shù),jmap打印堆快照,jstack實(shí)戰(zhàn)死鎖1jinfo指

7、令:如何運(yùn)行時(shí)查看參數(shù)值jinfo-flagMaxHeapSize23789(查看最大堆:23789即線程id)jinfo-flagThreadStackSize23789查詢線程棧大?。耗J(rèn)值1024)2查看jvm運(yùn)行時(shí)參數(shù)(1)-XX:+PrintFlagsInitial查看初始值boolUseGlGCproductbooluseGCLogFileRotationproductboolUseGCOverheadLimit:=130023424:=2053111808汀山氏遲k68*19丸uintxinitialHeapsizeproduct默認(rèn)值戶后的值orodjzt:)IXXS5Fffl

8、5打印出運(yùn)行MM-XX:+UnlockExperimentalVMOptions解鎖實(shí)驗(yàn)參數(shù)(并非所有的參數(shù)都可以直接修改jpsjps是用于查看有權(quán)訪問的hotspot虛擬機(jī)的進(jìn)程.當(dāng)未指定hostid時(shí),默認(rèn)查看本機(jī)vm進(jìn)程,否者查看指定的hostid機(jī)器上的jvm進(jìn)程,此時(shí)hostid所指機(jī)器必須開扃statd服務(wù)。jps可以列出jvm進(jìn)程lvmid,主類類名,main函數(shù)參數(shù),jvm參數(shù),jar名稱等信息。jinfo-flag23789(查看tomcat進(jìn)程23789運(yùn)行時(shí)jvm參數(shù))jinfo-flagUseParallelGC23789jinfo-flagUseG1GC23789ji

9、nfo-flagUseConcMarkSweepGC23789jstat查看JVM統(tǒng)計(jì)信息,例如類加載信息、垃圾收集、JIT編譯jstat-class23789加載了多少個(gè)類,占用多少Kb,卸載多少個(gè),平臺卸載加載所花費(fèi)時(shí)間jstat-gc23789jstat-gc23789100010(每個(gè)1秒打印gc信息,共打印10次)SOCSlSOUSillECEUOCOUKCnilCCSCCCSUY耳.JGCT.,JGC.KGT川吟歸“:17719122.00.D0.0108,0174060,2931&4.023053.13F456.0S4452.24480.f)4155.8迫洗辺d.8SOC.SIC

10、.SOU.S1U:SO和的總量與使用量ECEU:Eden區(qū)總量與使用量OC.OU:Old區(qū)總量與使用量MQMU:Meta印臼代區(qū)總量與使用量CCSC.CCSU:壓縮類空間總量與使用量YGC.VGCT:YoungGC的次數(shù)與時(shí)間Metaspace里面有ccs,CodeCache等ccs表示啟用指向自己類文件的短指針的時(shí)候就會(huì)存在?cs。CodeCache:存放jit編譯代碼信息。把java代碼轉(zhuǎn)化為native代jmap+MAT實(shí)戰(zhàn)內(nèi)存溢出導(dǎo)出內(nèi)存映射文件:自動(dòng)導(dǎo)出:-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=./jmap命令手動(dòng)導(dǎo)出:jmap

11、-dump:format=bfile=heap.hprof23789我們實(shí)驗(yàn)的時(shí)候在eclipsedebug添加參數(shù):-Xms23m-Xmx23m-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=./導(dǎo)入mat中分析:File-openFile-導(dǎo)入自己的文件heap.hprof查看可能存在內(nèi)存溢出:vProbtemSuspect15,121instancesofjava.Iatig.Class,loadedbyXsystemclassloadersoccuf/6,302,344(35.L7Jbytes.Biggestrnscans:classor

12、g.sf-rmgframewor.beam.CachedlirasoertianResl;ts創(chuàng)0 xc71e2B-1,626,3廃聽制b煥cla55iaG.larg.itvoe.vethodTps3xfaa287cS-:止汕瓶iclasssunliecs.ext.GBlBCJOgOxfee51aM-155,360il09鬲:b/tes.查看類占用內(nèi)存大小Keywordsjava.Iarg.ClasDeF:三*ihTfa洱啥|疽轟“0,|囪理+出Clas-5旳詢已Objac-tsShallowHeafiRtsinedHeapuhkJE巴門匚A=Ntrneric?=B,534.M6Qjavd.l

13、-an.tririq46.627TJHyME=6.331.456Ojffva.util-cnncunrent.CDficuirrntHa.39,015甲腳=421&.120Gpva.util-linkedH自圈剛護(hù)tEnt?y13.582UJ.2B0=fitlnnChi.rt*HIT皿口=?-iiOdia/J-?云x=&53.096:Gjaa.Iang.StdngLifilobjects訂1.119,043二6.21,456Oia.utilxorKurfhowobjectsbyclss1二iO-.&r/ie-A呂11K!?frnencBKcudeive-acTefffrercffs珀dcfdu

14、lt_?&pDtGj時(shí)血Linked卜%地忙爭曲Piihi血邨Ho*jdv-3.lang.Dbjecjav-a-iang.refWeQjayuiiI.Ha-sbMijav.lang.Cl-SE耳OjaMii.iang.rEflrt:邑pvfi.ubl.LiHedllavjs.u-bl.HahMiJjtvjBasicsCollectionsL&akIdendiicaticrlrnmedi.3teDominatenSFd.uRmaircdSetCopyEtdrchQueriera.excudesoftreferences査看類強(qiáng)引用BxdudephantomrEferenMrxdudewe-ak/

15、softrefer-ricesrKcludephant口mMcrftreferencese-xcudephantEm/Ype-akrefe-rffneeEjtdudctillpbant:“走呂piioftl;c.reieirRCG&正則匹配查看我們的類占用內(nèi)存大shallowheap不包括其內(nèi)部引用對象大?。﹋stack查看線程jstack2378923789.txt注意:top命令查看pid是十進(jìn)制的,printf“x”23789就將23789轉(zhuǎn)化為16進(jìn)制5ced。然后在23789.txt中搜索ox5ced,就能找到pid對應(yīng)的類信息死循環(huán)案例分析:privateObjectlock1=n

16、ewObject();privateObjectlock2=newObject();publicStringdeadlock()newThread()-synchronized(lock1)synchronized(lock1)System.out.println(“Thread1getlock1”)tryThread.sleep(5000);cache(Exceptione)synchronized(lock2)System.out.println(“Thread1getlock2”).start();newThread()-synchronized(lock2)synchronized(l

17、ock1)System.out.println(“Thread2getlock2”)tryThread.sleep(5000);cache(Exceptione)synchronized(lock1)System.out.println(“Thread2getlock1”).start();jstack線程id線程id.txtThreads1atcom.imooc.Tionitorturii購chapter2.CptConlroller.l血色圜眾Rig置貓加抑詔8|;waitingtolockO)(OOOCOCOO0qi27f2(ajva.Isng.Object)-lackedJdjevilang.ObjecI)atcom.imooc.TonitOF_tu,chapler2.CptConlroleftlUrrbda335/2628714iun;JnknoftnSource)-atjdvaJdngJhread,.runfThread

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論