欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決JMap抓取heap使用統(tǒng)計信息報錯的問題

 更新時間:2020年12月04日 15:15:00   作者:can_do_it  
這篇文章主要介紹了解決JMap抓取heap使用統(tǒng)計信息報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

******************************
/jmap jdk small version diffrent from jvm jdk vesionbegin///
[dev@iZ2ze8us9p89pfk02m9vs1Z ~]$ jmap -heap 1541
Attaching to process ID 1541, please wait...
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: cannot open binary file
sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.debugger.DebuggerException: cannot open binary file
at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.execute(LinuxDebuggerLocal.java:163)
at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach(LinuxDebuggerLocal.java:278)
at sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:671)
at sun.jvm.hotspot.HotSpotAgent.setupDebuggerLinux(HotSpotAgent.java:611)
at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:337)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.tools.jmap.JMap.runTool(JMap.java:201)
at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: sun.jvm.hotspot.debugger.DebuggerException: cannot open binary file
at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.attach0(Native Method)
at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.access$100(LinuxDebuggerLocal.java:62)
at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$1AttachTask.doit(LinuxDebuggerLocal.java:269)
at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal$LinuxDebuggerLocalWorkerThread.run(LinuxDebuggerLocal.java:138)
/jmap jdk small version diffrent from jvm jdk vesionend///

/jmap jdk big version diffrent from jvm jdk vesionbegin///
Attaching to process ID 30413, please wait...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.tools.jmap.JMap.runTool(JMap.java:201)
at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: java.lang.InternalError: void* type hasn't been seen when parsing int*
at sun.jvm.hotspot.HotSpotTypeDataBase.recursiveCreateBasicPointerType(HotSpotTypeDataBase.java:721)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupType(HotSpotTypeDataBase.java:134)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupOrCreateClass(HotSpotTypeDataBase.java:631)
at sun.jvm.hotspot.HotSpotTypeDataBase.createType(HotSpotTypeDataBase.java:751)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:195)
at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:89)
at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:395)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:305)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:49)
... 6 more
/jmap jdk big version diffrent from jvm jdk vesionend///
****************************************

【問題】

執(zhí)行jmap -heap命令是報錯,方法返回參數(shù)類型不匹配

【分析】

考慮執(zhí)行jmap的jdk版本同目標jvm的jdk版本不一致:

1> 如果jmap的jdk版本比目標jvm高,執(zhí)行會提示方法不兼容錯誤

2> 如果jmap的jdk版本比目標jvm低,執(zhí)行會提示jdk版本不一致錯誤

【解決】

采用執(zhí)行jmap的jdk版本同目標jvm的jdk版本保持一致。

補充知識:jmap -heap返回結果分析

using parallel threads in the new generation.
using thread-local object allocation.
Concurrent Mark-Sweep GC
Heap Configuration:
 MinHeapFreeRatio   = 40
 MaxHeapFreeRatio   = 70
 MaxHeapSize    = 4294967296 (4096.0MB)
 NewSize     = 858980352 (819.1875MB)
 MaxNewSize    = 858980352 (819.1875MB)
 OldSize     = 3435986944 (3276.8125MB)
 NewRatio     = 4
 SurvivorRatio   = 8
 MetaspaceSize   = 21807104 (20.796875MB)
 CompressedClassSpaceSize = 1073741824 (1024.0MB)
 MaxMetaspaceSize   = 17592186044415 MB
 G1HeapRegionSize   = 0 (0.0MB)

Heap Usage:

新生代

New Generation (Eden + 1 Survivor Space):
 capacity = 773128192 (737.3125MB)
 used  = 95478696 (91.05558013916016MB)
 free  = 677649496 (646.2569198608398MB)
 12.349659084738175% used
Eden Space:
 capacity = 687276032 (655.4375MB)
 used  = 95478696 (91.05558013916016MB)
 free  = 591797336 (564.3819198608398MB)
 13.892336056322709% used
From Space:
 capacity = 85852160 (81.875MB)
 used  = 0 (0.0MB)
 free  = 85852160 (81.875MB)
 0.0% used
To Space:
 capacity = 85852160 (81.875MB)
 used  = 0 (0.0MB)
 free  = 85852160 (81.875MB)
 0.0% used
concurrent mark-sweep generation:
 capacity = 3435986944 (3276.8125MB)
 used  = 119572370833685648 (1.1403309901588979E11MB)
 free  = 17478152948676 MB
 3.480000732903997E9% used

根據(jù)以上數(shù)據(jù),我們來check一些ratio:

NewRatio = 2
Eden Space capacity = 1063256064 (1014.0MB)
From Space capacity = 4718592 (4.5MB)
To Space capacity = 5242880 (5.0MB)

簡單加法,

New size=1014.0+4.5+5.0=1023.5MB

MaxHeapSize = 3221225472 (3072.0MB)

年輕代占比:

1023.5/3072.0=1/3。

換算NewRatio的計算,老年代/新生代,結果為2

以上這篇解決JMap抓取heap使用統(tǒng)計信息報錯的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java StackOverflowError詳解

    Java StackOverflowError詳解

    這篇文章主要介紹了Java StackOverflowError詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Java 實戰(zhàn)項目錘煉之IT設備固定資產管理系統(tǒng)的實現(xiàn)流程

    Java 實戰(zhàn)項目錘煉之IT設備固定資產管理系統(tǒng)的實現(xiàn)流程

    讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java+SSM+jsp+mysql+maven實現(xiàn)一個IT設備固定資產管理系統(tǒng),大家可以在過程中查缺補漏,提升水平
    2021-11-11
  • java中int初始化可以為0,但不能為NULL問題

    java中int初始化可以為0,但不能為NULL問題

    這篇文章主要介紹了java中int初始化可以為0,但不能為NULL問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java Spring開發(fā)環(huán)境搭建及簡單入門示例教程

    Java Spring開發(fā)環(huán)境搭建及簡單入門示例教程

    這篇文章主要介紹了Java Spring開發(fā)環(huán)境搭建及簡單入門示例,結合實例形式分析了spring環(huán)境搭建、配置、使用方法及相關注意事項,需要的朋友可以參考下
    2017-11-11
  • java微信公眾號企業(yè)付款開發(fā)

    java微信公眾號企業(yè)付款開發(fā)

    這篇文章主要為大家詳細介紹了java微信公眾號企業(yè)付款開發(fā),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • java8 如何實現(xiàn)分組計算數(shù)量和計算總數(shù)

    java8 如何實現(xiàn)分組計算數(shù)量和計算總數(shù)

    這篇文章主要介紹了java8 如何實現(xiàn)分組計算數(shù)量和計算總數(shù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 注冊中心配置了spring?security后客戶端啟動報錯

    注冊中心配置了spring?security后客戶端啟動報錯

    這篇文章主要為大家介紹了注冊中心配置了spring?security后客戶端啟動報錯問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Java實現(xiàn)暴力匹配算法

    Java實現(xiàn)暴力匹配算法

    暴力匹配算法是一種簡單的字符串匹配算法,本文主要介紹了Java實現(xiàn)暴力匹配算法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 剖析Fork?join并發(fā)框架工作竊取算法

    剖析Fork?join并發(fā)框架工作竊取算法

    這篇文章主要為大家剖析介紹了Fork?join并發(fā)框架工作竊取算法的示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • File的API和常用方法詳解_動力節(jié)點Java學院整理

    File的API和常用方法詳解_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了File的API和常用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05

最新評論