1. centos7安裝 java 顯示java -version成功 但javac命令找不到
jstack用於列印出給定的java進程ID或core file或遠程調試服務的Java堆棧信息。
如果是在64位機器上,需要指定選項"-J-d64",Windows的jstack使用方式只支持以下的這種方式:jstack [-l] pid
如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發生問題。
另外,jstack工具還可以附屬到正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息, 如果現在運行的java程序呈現hung的狀態,jstack是非常有用的。
l 不同的 JAVA虛機的線程 DUMP的創建方法和文件格式是不一樣的,不同的 JVM版本, mp信息也有差別。
l 在實際運行中,往往一次 mp的信息,還不足以確認問題。建議產生三次 mp信息,如果每次 mp都指向同一個問題,我們才確定問題的典型性。
命令格式
$jstack [ option ] pid
$jstack [ option ] executable core
$jstack [ option ] [server-id@]remote-hostname-or-IP
pid: java應用程序的進程號,一般可以通過jps來獲得
executable:產生core mp的java可執行程序
core:列印出的core文件
remote-hostname-or-ip:遠程debug伺服器的名稱或IP
server-id: 唯一id,假如一台主機上多個遠程debug服務
3. linux怎麼安裝jstack工具
CentOS下需來要安裝一個自openjdk-devel的rpm包
yuminstalljava-1.8.0-openjdk-devel-1.8.0.171-7.b10.el7.x86_64
這個包的來源可查詢:
yumlist--showplicate|grepjava-1.8|grep171
4. 查看JAVA進程中哪個線程CPU消耗最高
1.如果在linux的系統下抄面, 可以使用襲 ps -eLf 列出thread的cpu的使用率
2.導出java運行的線程信息
jstack 進程id(jps查看)
jstack 進程id > ps.txt
jstack -l 進程id (窗口列印)