一、JPS
1、jps -lvm:用於查看當前機器上已裝載的jvm
二、jstack
1.1:查看進程的線程數,找出進程內最耗費CPU的線程:
top -Hp 19931 。 可以看到耗費CPU的線程的pid是20097
1.2:
得到20097的十六進制值為4e81,下面會用到。
1.3:jstack命令主要用來查看Java線程的調用堆棧的,可以用來分析線程問題(如死鎖)
1.3.1:jstack -l 19931 或者 jstack 19931 | grep 4e81: 查看線程的堆棧信息
1.3.2: jstack -l pid >文件名:生成線程快照
值得關注的線程狀態有:
① 死鎖:Deadlock(重點關注)
② 執行中:Runnable
③ 等待資源:Waiting on condition(重點關注)
④ 等待獲取監視器:Waiting on monitor entry(重點關注)
⑤ 暫停:Suspended
⑥ 對象等待中:Object.wait() 或 TIMED_WAITING
⑦ 阻塞:Blocked(重點關注)
⑧ 停止:Parked
三、jmap
jmap命令可以獲得運行中的jvm的堆的快照,從而可以離線分析堆,以檢查內存泄漏,檢查一些嚴重影響性能的大對象的創建,檢查系統中什么對象最多,各種對象所占內存的大小等等
1:jmap -heap PID:打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情況
2:使用 jmap -histo[:live] pid | less 查看堆內存中的對象數目、大小統計直方圖,如果帶上live則只統計活對象,如:
jmap -histo:live 19931 | less
3:jmap -histo:live pid>a.log
可以觀察heap中所有對象的情況(heap中所有生存的對象的情況)。包括對象數量和所占空間大小。 可以將其保存到文本中去,在一段時間后,使用文本對比工具,可以對比出GC回收了哪些對象。
4:jmap -dump:format=b,file=文件名.dump PID:生成內存dump文件
可以使用jhat查看,命令如下:
jhat -port 9998 文件名.dump
該命令通常用來分析內存泄漏OOM,通常做法是:
使用 JVM 參數獲取 dump 文件
進入Tomcat的'bin'目錄,在'catalina.sh'文件里添加如下內容
>-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=c:\jakarta-tomcat\webapps
然后使用MAT分析工具,如jhat命令,eclipse的mat插件。
四、jstat
Jstat用於查看gc垃圾回收使用情況:
- 類的加載及卸載情況
- 查看新生代、老生代及持久代的垃圾收集情況,包括垃圾回收的次數及垃圾回收所占用的時間
命令格式如下圖:
option:我們經常使用的選項有gc、gcutil
vmid:java進程id
interval:間隔時間,單位為毫秒
count:打印次數
堆內存 = 年輕代 + 年老代 + 永久代
年輕代 = Eden區 + 兩個Survivor區(From和To)
1:類加載統計:
jstat -class pid
- Loaded:加載class的數量
- Bytes:所占用空間大小
- Unloaded:未加載數量
- Bytes:未加載占用空間
- Time:時間
2:垃圾回收統計
jstat -gc 15774 1000 10
- S0C:第一個幸存區的大小
- S1C:第二個幸存區的大小
- S0U:第一個幸存區的使用大小
- S1U:第二個幸存區的使用大小
- EC:伊甸園區的大小
- EU:伊甸園區的使用大小
- OC:老年代大小
- OU:老年代使用大小
- MC:方法區大小
- MU:方法區使用大小
- CCSC:壓縮類空間大小
- CCSU:壓縮類空間使用大小
- YGC:年輕代垃圾回收次數
- YGCT:年輕代垃圾回收消耗時間
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
3:堆內存統計
jstat -gccapacity pid
4:總結垃圾回收統計
jstat -gcutil 15774 1000 10
- S0:幸存1區當前使用比例
- S1:幸存2區當前使用比例
- E:伊甸園區使用比例
- O:老年代使用比例
- M:元數據區使用比例
- CCS:壓縮使用比例
- YGC:年輕代垃圾回收次數
- FGC:老年代垃圾回收次數
- FGCT:老年代垃圾回收消耗時間
- GCT:垃圾回收消耗總時間
轉:https://www.cnblogs.com/kongzhongqijing/articles/3621163.html