JVM相關命令與常見問題定位過程

相關命令

jps命令

java提供的一個顯示當前所有java進程pid的命令

參數(shù):

-q:只顯示pid
-m:輸出傳遞給main方法的參數(shù)
-l:輸出應用程序main class的完整package名或者應用程序的jar文件完整路徑名
-v:顯示JVM參數(shù)</pre>

參考鏈接:

Java命令學習系列(一)——Jps-HollisChuang's Blog

jstat命令

# 垃圾回收統(tǒng)計
jstat -gc pid 250 20:查詢進程xxx的垃圾收集情況,每250毫秒查詢一次,一個查詢20次。

S0C:第一個幸存區(qū)的大小
S1C:第二個幸存區(qū)的大小
S0U:第一個幸存區(qū)的使用大小
S1U:第二個幸存區(qū)的使用大小
EC:伊甸園區(qū)的大小
EU:伊甸園區(qū)的使用大小
OC:老年代大小
OU:老年代使用大小
MC:方法區(qū)大小
MU:方法區(qū)使用大小
CCSC:壓縮類空間大小
CCSU:壓縮類空間使用大小
YGC:年輕代垃圾回收次數(shù)
YGCT:年輕代垃圾回收消耗時間
FGC:老年代垃圾回收次數(shù)
FGCT:老年代垃圾回收消耗時間
GCT:垃圾回收消耗總時間


jstat -gcutil pid 250 20:查詢GC總體使用情況(百分比)


jstat -gccause pid:額外輸出上次GC原因
特別的:
 Allocation Failure:
 表明本次引起GC的原因是因為在年輕代中沒有足夠的空間能夠存儲新的數(shù)據(jù)了。






jinfo命令(jdk8后官方拋棄)

可以用來查看正在運行的java應用程序的擴張參數(shù),包括java system屬性和JVM命令行參數(shù),也可以動態(tài)的修改正在運行的JVM的一些參數(shù)。

用法 說明 舉例
jinfo pid 輸出當前JVM進程的全部參數(shù)和系統(tǒng)屬性 jinfo 11772
jinfo -flag name pid 輸出對應名稱的參數(shù) jinfo -flag PrintGC 11772
jinfo -flag [+|-]name pid 開啟或者關閉對應名稱的參數(shù)(動態(tài)修改參數(shù)) jinfo -flag -PrintGC 11772
jinfo -flag name=value pid 修改指定參數(shù)的值(動態(tài)修改參數(shù)) jinfo -flag HeapDumpPath=C:\error.hprof 11772
jinfo -flags pid 輸出全部的參數(shù) jinfo -flags 11772
jinfo -sysprops pid 輸出當前JVM進程的全部系統(tǒng)屬性 jinfo -sysprops 11772

參考鏈接:jvm 性能調優(yōu)工具之 jinfo - 簡書 (jianshu.com)

jstack

生成當前時刻的線程快照

  • jstack pid:查看線程情況

jmap

將內存使用的詳細情況輸出到文件

  • jmap -dump:format=b,file=heapDump pid:輸出到文件heapDump

jhat

Jhat分析Jmap打印出的堆快照信息

  • jhat 文件名:啟動了一個http服務,端口默認是7000,可以使用http://127.0.01:7000/進行訪問

信息比較大,得對具體代碼有針對的分析,分析哪些對象無法回收的情況

常見問題定位過程

頻繁GC或內存溢出

  • jps:查看pid

  • jstat -gc pid 250 20:查看gc情況

  • jstat -gccause pid:查看上次gc原因

  • jmap -dump:format=b,file=heapDump pid:生成堆轉儲文件

  • 使用jhat分析堆情況

  • 結合代碼解決內存溢出或泄漏問題。

死鎖問題

  • jps:查看pid

  • top -H -p pid:查看哪個線程CPU使用率高

  • printf %x 線程id:獲取十六進制線程id

  • jstack pid|grep 十六進制線程id:查看線程情況

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容