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)
この問題を解決するにはどうすればよいですか?
jmapはJava-1.8.0-openjdk-devel-debug、またはJava-1.7.0-openjdk-devel-debug、またはJava-1.6.0-openjdk-devel-debugRedhat/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
私の状況は少し奇妙でした(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
以下は私のために働きました:
Sudo apt-get install openjdk-8-jdk openjdk-8-dbg
Javaパスは "PATH"システムプロパティにある必要があります。
$Java_HOME/bin
Centos上のOpenJDKにはjmapユーティリティが含まれていません。別のプラットフォームでテストするか、jhat Java_pid1234.hprof
コマンドを使用して、別のプラットフォームでの事後のダンプを調べます。
jhatは、大きなダンプで実行するとメモリが不足する可能性があります。私が使う jhat -port 7000 -J-mx2048m Java_pid1234.hprof
したがって、コンピュータには十分なRAMが必要です。
私のシステム(elasticsearchコンテナー)では除外されていることがわかりました。
$ grep exclude /etc/yum.conf
exclude=Java-1.8.0-openjdk*
コメントアウトすると、このパッケージをyum install ...
で表示してインストールできます
jREにはデフォルトで付属していません-以下のコマンドでインストールできます
yum install Java-1.8.0-openjdk-devel-debug