Windows 操作系统系统 IDEA 中 jmap 命令 Error

背景

想来大家在学习 JVM 的过程中,都会用到 jmap - heap 进程id 命令来查看某一时刻堆内存占用情况吧,这里记录一个我在使用 jmap 命令时遇到的小 bug

环境

操作系统:Windows10
编译器:IDEA
本地 JDK 版本:1.10
IDEA 内配置此项目使用 JDK1.8
ps:如果本地有多个版本 JDK ,一定要注意下图四个地方都配置一致。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题描述

在这里插入图片描述
问题信息:

Error: -heap option used Cannot connect to core dump or remote debug server. Use jhsdb jmap instead

什么意思?让我用 jhsdb jmap 指令?
于是我尝试了一下

jhsdb jmap -heap 21000

接下来是另一个错误,因为重点不在此,就不贴图了。

问题分析

于是我上网查了一下 jmap 查看堆内存命令到底怎么写,结果发现就是 jmap -heap 进程id,我写的没有问题呀,不过有一篇文章的一句话给了我提示:

使用 jmap 指令时需要注意,如果启动时所使用的 java 版本与 jmap 的版本是不同的,就会报错
这种情况通常发生在机器上安装了多个版本的 jdk 包,需要仔细找一下需要使用的版本

文章链接:https://techlog.cn/article/list/10183171
于是我在 IDEATerminal 窗口内输入 java -version 发现是 1.10,原来这里使用的是我在环境变量中配置的 JDK10,而我的项目内使用的是 JDK8,版本不同,所以就出错了。

问题解决

由于我的项目内有些代码是基于 JDK8 的,所以项目的 JDK 版本不能更换,那就只能将环境变量中的 JDK10 更改为 JDK8 版本啦。至于具体如何更换,可参照我以往的文章:本地环境变量 JDK 版本更换

如果有问题欢迎在评论区留言与我交流呀~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悄悄地努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值