【Ubuntu】jmap命令报错unknown CollectedHeap type : class sun.jvm.hotspot.gc
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
问题描述
今天在Ubuntu服务器上执行jmap -heap pid
的时候,Heap Usage
部分报错:
Heap Usage:
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.RuntimeException: unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap
at sun.jvm.hotspot.tools.HeapSummary.run(HeapSummary.java:144)
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:49)
... 6 more
服务器描述:
- 操作系统版本:
Ubuntu 9.4.0-1ubuntu1~20.04.1
- JDK版本:
1.8.0_382
解决方案
简单来说就是OpenJDK没有帮助调试的包(sun.jvm.hotspot.gc_interface.CollectedHeap
),安装补充包即可。
网上有很多解决方案都是针对于Centos
系统的,对于Ubuntu
系统且JDK是1.8版本的,只需要执行下列命令即可:
sudo apt install openjdk-8-dbg
如果JDK是其他版本的话,可以在Ubuntu packages中搜索相应的包,然后再去安装
https://packages.ubuntu.com/search?keywords=openjdk+dbg&searchon=all&suite=kinetic§ion=all
参考链接
https://stackoverflow.com/questions/61620693/how-to-execute-openjdk-debugging-package
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |