JDK常用命令
阿新 • • 發佈:2019-02-05
單位 百分比 tps open 常用 grep printf stack viewpage
1、jps
查看java進程,得到進程ID:7854
作用等同於:ps -ef | grep java
2、jstat
監視虛擬機各種運行態信息
常用:jstat -gcutil PID,監視java堆狀況
遠程機器上無法直接使用jstat命令,解決方法參考:https://wiki.sankuai.com/pages/viewpage.action?pageId=841802032
chroot --userspec=99:99 / sh -c ‘jstat -gcutil 7854‘的輸出如下:
S0:Survivor0區已使用空間的百分比
?S1:Survivor1區已使用空間的百分比
?E:Eden區已使用空間的百分比
?O:老年代已使用空間的百分比?
P:永久代已使用空間的百分比?
YGC:從應用程序啟動到采樣時發生Young GC的次數
?YGCT:從應用程序啟動到采樣時Young GC所用的時間(單位秒)
?FGC:從應用程序啟動到采樣時發生Full GC的次數
?FGCT:從應用程序啟動到采樣時Full GC所用的時間(單位秒)?
GCT:從應用程序啟動到采樣時發送GC的總時間(單位秒)
3、jstack
生成虛擬機當前時刻的線程快照
jstack PID | grep 16進制線程ID查看線程信息
比如要到java進程中最消耗CPU的那個線程的信息:
(1)top -Hp 7854
找到最耗CPU的線程ID是7975
(2)printf ‘%x\n‘ 7975
把該線程ID轉為16進制,為1f27
(3)chroot --userspec=99:99 / sh -c ‘jstack 7854 | grep -A 20 1f27‘
輸出線程的堆棧信息
可以看到是cat中的程序
JDK常用命令