這篇文章主要介紹“mac平臺(tái)下如何分析java堆hprof文件”,在日常操作中,相信很多人在mac平臺(tái)下如何分析java堆hprof文件問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”mac平臺(tái)下如何分析java堆hprof文件”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
專(zhuān)業(yè)從事網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),高端網(wǎng)站制作設(shè)計(jì),成都小程序開(kāi)發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用H5開(kāi)發(fā)+CSS3前端渲染技術(shù),成都響應(yīng)式網(wǎng)站建設(shè)公司,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過(guò)程建立專(zhuān)項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。
如何打印堆棧信息到hprof文件中
運(yùn)行程序增加VM參數(shù)(如何增加VM執(zhí)行參數(shù),可以查看之前文章):
-XX:+HeapDumpOnOutOfMemoryError # 會(huì)打印出現(xiàn)內(nèi)存溢出異常時(shí),Dump出當(dāng)前內(nèi)存堆轉(zhuǎn)存快找以便分析
步驟1:
在命令行界面,執(zhí)行以下命令,其中java_pid73912.hprof為文件名稱(chēng)
jhat java_pid73912.hprof
執(zhí)行命令會(huì)輸出
Reading from java_pid73912.hprof...Dump file created Thu Apr 08 22:18:08 CST 2021Snapshot read, resolving...Resolving 818890 objects...Chasing references, expect 163 dots...................................................................................................................................................................Eliminating duplicate references...................................................................................................................................................................Snapshot resolved.Started HTTP server on port 7000Server is ready.
當(dāng)看出Server is ready.
之后,可以通過(guò) ip + port 地址瀏覽器訪問(wèn),我這里是本地,所以是 localhost:7000
點(diǎn)擊Show instance counts for all classes (including platform)
會(huì)展示包含平臺(tái)的類(lèi)的的信息
點(diǎn)擊Show instance counts for all classes (excluding platform)
會(huì)展示不包含平臺(tái)的所有類(lèi)的信息
可以看到我這里占用空間最多的類(lèi)是 class com.geniu.book.deepinJVM.chapter2.TestHeapOOM$OOMObject
有 80 多萬(wàn)個(gè)實(shí)例。
這樣就可以分析發(fā)生內(nèi)存溢出時(shí),內(nèi)存中的對(duì)象情況,分析異常情況。
其他建議方案:
1)使用idea插件 JProfiler
2)minidump_stackwalk 工具,可以讀取 dump 文件
到此,關(guān)于“mac平臺(tái)下如何分析java堆hprof文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!