1. 程式人生 > >JDK常用命令

JDK常用命令

單位 百分比 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常用命令