jvm调试相关:jmap失效下找到alternatives神器

1、使用 jmap <pid>出现的错误日志:很明显是版本问题

Error attaching to process: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.171-b11. Target VM is 25.151-b12

sun.jvm.hotspot.debugger.DebuggerException: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 25.171-b11. Target VM is 25.151-b12

2、解决方案:

(1)修改虚拟机中的jdk版本

  • Linux的脚本命令基本放在/usr/bin目录:cd  /usr/bin
  • 查找jmap:ll | grep jmap ,发现 jmap 软链接 /etc/alternatives/jmap
    • alternatives常用于同一个系统中安装同一软件的多个版本。(以前不知道有这种神器)
    • 通过alternatives去安装新的jdk版本即可。
    • 参考:https://www.cnblogs.com/caidi/p/6009217.html 

(2)修改编译环境中的jdk版本:

  • 官方下载对应版本的jdk,重新编译打包即可。

3、导入内存数据:jmap -dump:live,format=b,file=jmap.dump <pid>

  发现jmap.dump文件属于超级用户的,需要改为普通用户也能操作修改:sudo chmod -R ugo+rw  filename

4、下载到windows系统中,进行dump文件分析:jhat  jvisualvm

   参考:https://www.cnblogs.com/0616--ataozhijia/p/4136312.html

 

转载于:https://www.cnblogs.com/linzhanfly/p/9139722.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值