J'essaie d'utiliser la commande jmap
sur mon serveur CentOS
mais elle ne cesse de me dire que la commande n'a pas été trouvée, même si le JDK est installé.
Voici le résultat de la commande 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)
Comment puis-je résoudre ce problème?
Vous devriez pouvoir trouver jmap dans Java-1.8.0-openjdk-devel-debug ou Java-1.7.0-openjdk-devel-debug ou Java. -1.6.0-openjdk-devel-debug paquets sur Redhat/Centos. Pour l'installer, lancez ce qui suit en tant que root:
yum install Java-1.8.0-openjdk-devel-debug
Pour être complet, voici la commande permettant de vérifier quels packages incluent jmap:
yum whatprovides '*/jmap'
Voici un exemple de sortie:
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
Ma situation était un peu étrange (dans l’image openjdk:8-jre
Docker), mais cette combinaison a fonctionné.
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
Ce qui suit a fonctionné pour moi:
Sudo apt-get install openjdk-8-jdk openjdk-8-dbg
OpenJDK sur centos n'inclut pas l'utilitaire jmap. Testez sur une autre plate-forme ou utilisez la commande jhat Java_pid1234.hprof
pour examiner le dump après coup sur une autre plate-forme.
jhat peut être lent pour fonctionner sur de grandes sauvegardes et même manquer de mémoire! J'utilise jhat -port 7000 -J-mx2048m Java_pid1234.hprof
donc vous aurez besoin de beaucoup de RAM sur votre ordinateur.
le chemin Java doit être dans la propriété système "PATH".
$Java_HOME/bin