使用 jstack 命令時提示 command not found,不要慌,可能的原因如下:
原因1:沒有在 jdk 的安裝目錄下使用這個命令(一般配置了 jdk 的環境變量之后就可以解決)
原因2:使用的是系統自帶的 openjdk(沒有 jstack 命令),而不是正式的 jdk 版本
1、首先先查下安裝的 jdk 的版本是不是 openjdk,如果是,卸載掉,然后重新安裝官網的 jdk
rpm -qa|grep java
可以看到安裝的版本是 openjdk,那么接下來就需要刪除掉它
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.191.b12-0.el6_10.i686 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.191.b12-0.el6_10.i686
再次查詢時,查詢不到 jdk 信息
2、安裝 jdk
下載好 tar.gz 文件並上傳到 linux 下,解壓文件
tar -zxvf jdk-8u131-linux-i586.tar.gz -C /usr/local/java
配置環境變量:
echo JAVA_HOME=/usr/local/java/jdk1.8.0_131 #jdk 的解壓目錄 echo PATH=$PATH:$JAVA_HOME/bin
使環境變量生效:
source /etc/profile
再次使用 jstack pid 命令發現就不再報錯了哈~