




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、解決jmap命令打印JVM堆信息異常的問題5進6程0的堆信息jmap命令可以打印ja進程的JVM堆信息,今天在某臺機器上運行該命令查看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是因為機器上缺少openjdk-包或者機器上的pj包與j版本不一致導致Maeapa:1mpl.javampl.java是用jaa查看機器上的ja版本javajajajaVMpmpmpm命令安裝均滿足我的j版本,下載第一個進行嘗試下載完成后使用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.補充知識:JVM參數(shù),jmap打印堆快照,jstack實戰(zhàn)死鎖1jinfo指
7、令:如何運行時查看參數(shù)值jinfo-flagMaxHeapSize23789(查看最大堆:23789即線程id)jinfo-flagThreadStackSize23789查詢線程棧大?。耗J值1024)2查看jvm運行時參數(shù)(1)-XX:+PrintFlagsInitial查看初始值boolUseGlGCproductbooluseGCLogFileRotationproductboolUseGCOverheadLimit:=130023424:=2053111808汀山氏遲k68*19丸uintxinitialHeapsizeproduct默認值戶后的值orodjzt:)IXXS5Fffl
8、5打印出運行MM-XX:+UnlockExperimentalVMOptions解鎖實驗參數(shù)(并非所有的參數(shù)都可以直接修改jpsjps是用于查看有權(quán)訪問的hotspot虛擬機的進程.當未指定hostid時,默認查看本機vm進程,否者查看指定的hostid機器上的jvm進程,此時hostid所指機器必須開扃statd服務。jps可以列出jvm進程lvmid,主類類名,main函數(shù)參數(shù),jvm參數(shù),jar名稱等信息。jinfo-flag23789(查看tomcat進程23789運行時jvm參數(shù))jinfo-flagUseParallelGC23789jinfo-flagUseG1GC23789ji
9、nfo-flagUseConcMarkSweepGC23789jstat查看JVM統(tǒng)計信息,例如類加載信息、垃圾收集、JIT編譯jstat-class23789加載了多少個類,占用多少Kb,卸載多少個,平臺卸載加載所花費時間jstat-gc23789jstat-gc23789100010(每個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ù)與時間Metaspace里面有ccs,CodeCache等ccs表示啟用指向自己類文件的短指針的時候就會存在?cs。CodeCache:存放jit編譯代碼信息。把java代碼轉(zhuǎn)化為native代jmap+MAT實戰(zhàn)內(nèi)存溢出導出內(nèi)存映射文件:自動導出:-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=./jmap命令手動導出:jmap
11、-dump:format=bfile=heap.hprof23789我們實驗的時候在eclipsedebug添加參數(shù):-Xms23m-Xmx23m-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=./導入mat中分析:File-openFile-導入自己的文件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自圈剛護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時血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査看類強引用BxdudephantomrEferenMrxdudewe-ak/
15、softrefer-ricesrKcludephant口mMcrftreferencese-xcudephantEm/Ype-akrefe-rffneeEjtdudctillpbant:“走呂piioftl;c.reieirRCG&正則匹配查看我們的類占用內(nèi)存大shallowheap不包括其內(nèi)部引用對象大?。﹋stack查看線程jstack2378923789.txt注意:top命令查看pid是十進制的,printf“x”23789就將23789轉(zhuǎn)化為16進制5ced。然后在23789.txt中搜索ox5ced,就能找到pid對應的類信息死循環(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鐵路機車車輛配件制造行業(yè)十三五規(guī)劃及發(fā)展前景分析報告
- 2025-2030年中國金屬鉍行業(yè)運行現(xiàn)狀及發(fā)展前景分析報告
- 2025-2030年中國過氧化氫行業(yè)市場運行動態(tài)與營銷策略研究報告
- 2025-2030年中國調(diào)壓器市場運行現(xiàn)狀及發(fā)展前景預測報告
- 2025-2030年中國空氣清新機行業(yè)運行現(xiàn)狀及發(fā)展趨勢預測報告
- 貴州工程應用技術(shù)學院《運動醫(yī)務監(jiān)督與康復治療》2023-2024學年第二學期期末試卷
- 2025年海南省安全員《B證》考試題庫
- 2025年建筑安全員B證考試題庫
- 山東現(xiàn)代學院《建筑設備CAD》2023-2024學年第二學期期末試卷
- 朔州師范高等??茖W校《電工測試技術(shù)(上)》2023-2024學年第二學期期末試卷
- 2024初中數(shù)學課程標準測試題(含答案)精華版
- 2024年陜西延長石油集團礦業(yè)公司招聘筆試參考題庫含答案解析
- 人教版新教材高一上學期期末考試數(shù)學試卷及答案(共五套)
- 人文關(guān)懷與優(yōu)質(zhì)護理課件
- 知識圖譜可視化-Neo4j(windows)
- 光伏電站作業(yè)危險點分析及預控措施手冊
- 2021年深圳實驗學校初中部七年級入學分班考試數(shù)學試卷及答案解析
- 水文流量測驗
- 合作共贏商務合作PPT模板(基礎(chǔ)教育)
- 鋁的陽極氧化和著色
- 信用社(銀行)清產(chǎn)核資實施方案
評論
0/150
提交評論