查看java進程內存簡單示例


分析工具

1、jps 顯示指定系統內的所有JVM進程

2、jstat 收集JVM各方面的運行數據

3、jinfo  顯示JVM配置信息

4、jmap  堆快照

5、jhat  分析headdump文件

6、jstack  顯示JVM的線程快照

 

jstat  -class pid 

 

  • -XX:+PrintGCDetails:輸出GC的詳細信息
  • -XX:+PrintGCTimeStamps:輸出GC的時間信息
  • -XX:+PrintGCApplicatonStoppedTime:GC造成的應用暫停的時間
  • -Xloggc:文件路徑/gc.log:輸出到文件

 

1、獲取pid

lsof -i:port

 

2、根據獲取到pid,查看gc的相關信息

jstat -gc pid 2000 5    查看gc信息,每兩秒刷新一次,總刷新五次。其相關熟悉列舉如下:

S0C:Survivor0 的容量
S1C:Survivor1, 與S0C一樣
S0U: Survivor0 的利用情況,utilization
S1U:
EC:eden 新生代使用情況
EU:
OC,OU:老年代的一些情況
PC,PU:Permanent space 當前永久代的情況
YGC: Numbers of young generation GC events
YGCT: Young generation Garbage collection time
FGC : full gc 次數
FGCT: full gc 時間
GCT: total gc 時間

 

3、查看線程信息

ps -mp pid -o THREAD,tid,time|wc -l 查看線程數

ps -mp pid -o THREAD,tid,time | sort -rn | head -10 線程列表,並按照CPU占用高的線程排序

 

4、將線程tid轉成16進制

printf "%x\n" tid

 

5、查看線程占內存信息

jstack pid |grep 16進制的線程id -A 30

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM