导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:330
阅读量:1042078
访问量:110314
至今:
×
云标签 标签球>>
云标签 - Su的技术博客
博文->>首页 博主的更多博文>>
JVM:VMVersionMismatchException: Supported versions are 24.79-b02. Target VM is 25.51-b03
Tags : JVM,jmap,JDK发表时间: 2017-12-19 20:13:48
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
比如: 转自:Su的技术博客  原文地址:
    使用JVM命令jmap -heap 318出现如下异常:

jmap -heap 318
Attaching to process ID 318, please wait...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.tools.jmap.JMap.runTool(JMap.java:197)
at sun.tools.jmap.JMap.main(JMap.java:128)
Caused by: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 24.79-b02. Target VM is 25.51-b03
at sun.jvm.hotspot.runtime.VM.checkVMVersion(VM.java:234)
at sun.jvm.hotspot.runtime.VM.<init>(VM.java:297)
at sun.jvm.hotspot.runtime.VM.initialize(VM.java:368)
at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:598)
at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:493)
at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:331)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:40)
... 6 more

    

    原因:系统安装了多个JDK版本,你的进程是使用了某个JDK版本,我这里是JDK8,然后你执行命令的时候,对应的版本不一致才会这样。

    解决:直接指定JDK的路径即可,即:/usr/jdk8/bin/jmap -heap pid

    如下:

/usr/jdk1.8.0_51/bin/jmap -heap 318
Attaching to process ID 318, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.51-b03

using thread-local object allocation.
Parallel GC with 6 thread(s) //GC线程数

Heap Configuration:
MinHeapFreeRatio = 0 //堆最小空闲比率
MaxHeapFreeRatio = 100 //堆最大空闲比率
MaxHeapSize = 536870912 (512.0MB) //最大堆大小
NewSize = 134217728 (128.0MB) //新生代大小
MaxNewSize = 134217728 (128.0MB) //新生代最大大小
OldSize = 134217728 (128.0MB) //老年代大小
NewRatio = 2 //新生代和老年代比例
SurvivorRatio = 8 //年轻代中Eden与Survivor区中的一个的比例
MetaspaceSize = 21807104 (20.796875MB) //JDK8 Metaspace区大小,JDK7则是PermSize
CompressedClassSpaceSize = 1073741824 (1024.0MB) //压缩类空间大小
MaxMetaspaceSize = 17592186044415 MB //最大Metaspace大小(无限制吧?)
G1HeapRegionSize = 0 (0.0MB) //G1堆区域大小 -XX:G1HeapRegionSize=n 设置的 G1 区域的大小。值是 2 的幂,范围是 1 MB 到 32 MB 之间。目标是根据最小的 Java 堆大小划分出约 2048 个区域。

Heap Usage:
PS Young Generation
Eden Space: //新生代Eden区
capacity = 132120576 (126.0MB)
used = 64277216 (61.299530029296875MB)
free = 67843360 (64.70046997070312MB)
48.65042065817212% used
From Space: //新生代Survivor区中的一个
capacity = 1048576 (1.0MB)
used = 851968 (0.8125MB)
free = 196608 (0.1875MB)
81.25% used
To Space: //新生代Survivor区中的另一个
capacity = 1048576 (1.0MB)
used = 0 (0.0MB)
free = 1048576 (1.0MB)
0.0% used
PS Old Generation //老年代内存使用分布
capacity = 402653184 (384.0MB)
used = 65451400 (62.41931915283203MB)
free = 337201784 (321.58068084716797MB)
16.255031029383343% used


38337 interned Strings occupying 4364536 bytes.


    顺便把相关注释加上,希望对你有帮助!



打赏
打赏
关注公众号
公众号
类别:Java| 阅读(4665)| 赞 (0)
评论
暂无评论!
发表评论
昵  称:

验证码:

内  容:

    同时赞一个 赞