2014-09-07 17 views
9

Sto tentando di utilizzare il comando jmap sul mio server ma continua a dirmi che il comando non è stato trovato anche se ho installato il JDK.comando jmap non trovato

Ecco l'output del comando 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) 

Come posso risolvere questo problema?

+1

si può trovare jmap utilizzando "individuare jmap" ?? –

risposta

0

il percorso java deve essere nel sistema "PATH" proprietà del sistema.

$JAVA_HOME/bin 
0

OpenJDK su centos non include l'utilità jmap. eseguire il test su un'altra piattaforma o utilizzare il comando jhat java_pid1234.hprof per esaminare il dump dopo il fatto su un'altra piattaforma.

jhat può essere lento per l'esecuzione su discariche di grandi dimensioni e anche a corto di memoria! Io uso jhat -port 7000 -J-mx2048m java_pid1234.hprof quindi avrai bisogno di un sacco di ram sul tuo computer.

7

Si dovrebbe essere in grado di trovare jmap nel java-1.8.0-openjdk-devel-debug, o java-1.7.0-openjdk-devel-debug, o java-1.6. 0-openjdk-devel-debug pacchetti su Redhat/Centos. Per installarlo, eseguire il seguente come root:

yum install java-1.8.0-openjdk-devel-debug 

Per completezza, ecco il comando per controllare quali pacchetti sono jmap:

yum whatprovides '*/jmap' 

Ecco un esempio di output:

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

L' seguente ha funzionato per me:

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

1

La mia situazione era un po 'strano (in esecuzione l'immagine openjdk:8-jre Docker all'interno), ma questa combinazione ha funzionato

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 
+0

Stessa situazione qui, e i tuoi comandi hanno funzionato. Ma non riesco a trovare jmap ovunque sulla macchina, dopo l'installazione. Sicuramente non nelle directory jdk/jre bin di nessuna delle installazioni. – user3562927

+0

Se il comando 'jmap' funziona, puoi provare' quale jmap' per ottenere il percorso del binario. – turtlemonvh