Команда jmap не найдена

Я пытаюсь использовать команду 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)

Как я могу исправить эту проблему?

Ответ 1

Вы можете найти jmap в java-1.8.0-openjdk-devel-debug или java-1.7.0-openjdk-devel-debug или java-1.6.0 -openjdk-devel-debug пакеты на Redhat/Centos. Чтобы установить его, запустите его как 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

Ответ 2

Моя ситуация была немного странной (работала внутри образа 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

Ответ 3

Следующие работали для меня:

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

Ответ 4

путь к java должен находиться в системном представлении "PATH".

$JAVA_HOME/bin

Ответ 5

OpenJDK on centos не включает утилиту jmap. проверить на другой платформе или использовать команду jhat java_pid1234.hprof для проверки дампа после факта на другой платформе.

jhat может медленно работать на больших дампах и даже исчерпать память! Я использую jhat -port 7000 -J-mx2048m java_pid1234.hprof, поэтому вам понадобится много баранов на вашем компьютере.

Ответ 6

JRE по умолчанию не работает - вы должны установить его с помощью команды ниже

yum install java-1.8.0-openjdk-devel-debug