找不到jmap命令

时间:2014-09-07 21:45:18

标签: java linux centos

我正在尝试在jmap服务器上使用CentOS命令,但它一直告诉我即使安装了JDK也找不到该命令。

以下是命令java -version的输出:

java version "1.7.0_25"
OpenJDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

如何解决此问题?

8 个答案:

答案 0 :(得分:12)

您应该能够在 java-1.8.0-openjdk-devel-debug java-1.7.0-openjdk-中找到 jmap Redhat / Centos上的devel-debug java-1.6.0-openjdk-devel-debug 包。要安装它,请以root身份运行以下命令:

yum install java-1.8.0-openjdk-devel-debug

为了完整性,这里是检查哪些包包含jmap的命令:

yum whatprovides '*/jmap'

以下是示例输出:

1:java-1.6.0-openjdk-devel-1.6.0.37-1.13.9.4.el7_1.x86_64 : OpenJDK Development Environment
Repo        : updates
Matched from:
Filename    : /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.37.x86_64/bin/jmap



1:java-1.7.0-openjdk-devel-1.7.0.91-2.6.2.3.el7.x86_64 : OpenJDK Development Environment
Repo        : base
Matched from:
Filename    : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64/bin/jmap



1:java-1.8.0-openjdk-devel-1.8.0.65-3.b17.el7.x86_64 : OpenJDK Development Environment
Repo        : base
Matched from:
Filename    : /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/bin/jmap



1:java-1.8.0-openjdk-devel-debug-1.8.0.65-3.b17.el7.x86_64 : OpenJDK Development Environment with full debug on
Repo        : base
Matched from:
Filename    : /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64-debug/bin/jmap



1:java-1.8.0-openjdk-devel-debug-1.8.0.65-3.b17.el7.x86_64 : OpenJDK Development Environment with full debug on
Repo        : @base
Matched from:
Filename    : /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64-debug/bin/jmap

答案 1 :(得分:4)

我的情况有点奇怪(在openjdk:8-jre Docker图片中运行),但这种组合有效

cat /etc/debian_version # 8.6
apt install -t jessie-backports openjdk-8-jre-headless ca-certificates-java
apt-get install -f -y openjdk-8-jdk-headless
apt-get install -f -y openjdk-8-dbg

答案 2 :(得分:3)

以下对我有用:

sudo apt-get install openjdk-8-jdk openjdk-8-dbg

答案 3 :(得分:0)

java路径必须在“PATH”系统中。

$JAVA_HOME/bin

答案 4 :(得分:0)

centos上的OpenJDK不包含jmap实用程序。在另一个平台上测试或使用jhat java_pid1234.hprof命令在另一个平台上检查转储后。

jhat在大型转储上运行速度慢,甚至内存不足!我使用jhat -port 7000 -J-mx2048m java_pid1234.hprof,因此您的计算机上需要大量内存。

答案 5 :(得分:0)

JRE并未默认提供它-您应该可以使用以下命令

进行安装
yum install java-1.8.0-openjdk-devel-debug

答案 6 :(得分:0)

我发现在我的系统(elasticsearch容器)上它被排除在外:

$ grep exclude /etc/yum.conf 
exclude=java-1.8.0-openjdk*

如果我将其注释掉,则可以使用yum install ...来查看并安装此软件包

答案 7 :(得分:0)

对于Debian“破坏者”-10.3-

cat /etc/debian_version # 10.3

echo "deb http://ftp.us.debian.org/debian sid main" > /etc/apt/sources.list.d/buster.list

apt-get update && apt-get install -f -y openjdk-8-jdk-headless openjdk-8-dbg