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 版本更换

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

相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页