一、首先观察openJDK的的版本
java -version
二、查看openJDK有jmap的yum源
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: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
拷贝加红的jdk进行更新
四、更新jdk、但是有关于JDK服务、需要重新启动。记住必须用root进行更新
yum install java-1.8.0-openjdk-devel-debug-1.8.0.65-3.b17.el7.x86_64
五、进行jmap、jstack、jps操作
jmap -dump:format=b,file=/home/admin/heap.hprof pid
pid 是程序的进程号 ps -ef|grep java 就可以查看到
jstack pid > thread.txt
jmap -dump:live,format=b,file=heapLive.hprof pid
如果无法dump 说明权限不够不能写入。