jmap错误:unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap

使用jmap -heap命令查看堆的详细信息报错

Caused by: java.lang.RuntimeException: unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap

[root@bangbet-java ~]# jmap -heap27822Attaching to process ID 27822, pleasewait...

Debugger attached successfully.

Server compiler detected.

JVM version is 25.222-b10

using thread-localobject allocation.

Parallel GC with 4 thread(s)

Heap Configuration:

  MinHeapFreeRatio        =0  MaxHeapFreeRatio        =100  MaxHeapSize              =1073741824(1024.0MB)

  NewSize                  =536870912(512.0MB)

  MaxNewSize              =536870912(512.0MB)

  OldSize                  =536870912(512.0MB)

  NewRatio                =2  SurvivorRatio            =8  MetaspaceSize            =21807104(20.796875MB)

  CompressedClassSpaceSize =1073741824(1024.0MB)

  MaxMetaspaceSize        =17592186044415 MB

  G1HeapRegionSize        =0(0.0MB)

Heap Usage:

Exception inthread"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.RuntimeException: unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap

        at sun.jvm.hotspot.tools.HeapSummary.run(HeapSummary.java:157)

        at sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)

        at sun.jvm.hotspot.tools.Tool.start(Tool.java:223)

        at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)

        at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:50)

        ... 6more

奇怪,在本地是没问题的,在linux上却出现这种情况

查看了下jdk版本,都是1.8,没啥问题呀

本地是HotSpot

线上是OpenJDK

最终原因

这里-heap参数会调用用到了sun.jvm下的debug包,而默认openJDK的安装中不包含!

解决方式

下载并安装一个java-openjdk-debug插件!而且需要和openjdk小版本也一致!!!

安装debuginfo

去网站http://debuginfo.centos.org/7/x86_64里面找匹配当前的openjdk的版本,小版本号也要匹配上。

然后使用wget命令下载

wgethttp://debuginfo.centos.org/7/x86_64/java-1.8.0-openjdk-debuginfo-1.8.0.222.b10-0.el7_6.x86_64.rpm

使用rpm命令安装

rpm -ivh java-1.8.0-openjdk-debuginfo-1.8.0.222.b10-0.el7_6.x86_64.rpm

查看是否安装了debuginfo

[root@bangbet-java ~]# rpm -qa|grep debuginfo

java-1.8.0-openjdk-debuginfo-1.8.0.222.b10-0.el7_6.x86_64

再次查询

[root@bangbet-java ~]# jmap -heap27968Attaching to process ID 27968, pleasewait...

Debugger attached successfully.

Server compiler detected.

JVM version is 25.222-b10

using thread-localobject allocation.

Parallel GC with 4 thread(s)

Heap Configuration:

  MinHeapFreeRatio        =0  MaxHeapFreeRatio        =100  MaxHeapSize              =2147483648(2048.0MB)

  NewSize                  =1073741824(1024.0MB)

  MaxNewSize              =1073741824(1024.0MB)

  OldSize                  =1073741824(1024.0MB)

  NewRatio                =2  SurvivorRatio            =8  MetaspaceSize            =21807104(20.796875MB)

  CompressedClassSpaceSize =1073741824(1024.0MB)

  MaxMetaspaceSize        =17592186044415 MB

  G1HeapRegionSize        =0(0.0MB)

Heap Usage:

PS Young Generation

Eden Space:

  capacity =1054867456(1006.0MB)

  used    =521443544(497.28731536865234MB)

  free=533423912(508.71268463134766MB)

  49.43213870463741% used

From Space:

  capacity =8388608(8.0MB)

  used    =8377312(7.989227294921875MB)

  free=11296(0.010772705078125MB)

  99.86534118652344% used

To Space:

  capacity =9437184(9.0MB)

  used    =0(0.0MB)

  free=9437184(9.0MB)

  0.0% used

PS Old Generation

  capacity =1073741824(1024.0MB)

  used    =334280072(318.79431915283203MB)

  free=739461752(705.205680847168MB)

  31.132257729768753% used35880interned Strings occupying4018400bytes.

ok,解决完毕!

遇到的版本问题

我的jdk版本是1.8.0_222-b10,在http://debuginfo.centos.org/7/x86_64找到两个

先下载了个最新的发现并不好使,之后卸载重新下载另一个

rpm卸载

rpm -e --nodeps java-1.8.0-openjdk-debuginfo-1:1.8.0.222.b10-1.el7_7.x86_64

之后重新安装即可

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容