java問題排查命令
阿新 • • 發佈:2021-12-09
java問題排查命令
jps
:檢視java程序jmap
:匯出堆詳細資訊
(與jhat
一起使用)jhat
:分析Java堆
的命令(與jmap
一起使用)jstack
:可以定位到執行緒堆疊,根據堆疊資訊我們可以定位到具體程式碼,所以它在JVM效能調優中使用得非常多。
通常結合ps
、top
、printf
、grep
命令使用。
printf "%x\n" 21742
得到21742的十六進位制值為54ee。
dump 檔案裡,值得關注的執行緒狀態有:
- 死鎖,
Deadlock
(重點關注)- 執行中,Runnable
- 等待資源,
Waiting on condition
(重點關注)- 等待獲取監視器,
Waiting on monitor entry
(重點關注)- 暫停,Suspended
- 物件等待中,Object.wait() 或 TIMED_WAITING
- 阻塞,
Blocked
(重點關注)- 停止,Parked
jinfo
:輸出並修改執行時的java 程序的opts,用於輸出JAVA系統引數及命令列引數jstat
:用於監控基於HotSpot的JVM,對其堆的使用情況進行實時的命令列的統計
- 類的載入及解除安裝情況
- 檢視新生代、老生代及持久代的容量及使用情況
- 檢視新生代、老生代及持久代的垃圾收集情況,包括垃圾回收的次數及垃圾回收所佔用的時間
- 檢視新生代中Eden區及Survior區中容量及分配情況等
轉自:https://www.cnblogs.com/rwxwsblog/p/6367243.html
Option Displays... class 用於檢視類載入情況的統計 compiler 用於檢視HotSpot中即時編譯器編譯情況的統計 gc 用於檢視JVM中堆的垃圾收集情況的統計 gccapacity 用於檢視新生代、老生代及持久代的儲存容量情況 gccause 用於檢視垃圾收集的統計情況(這個和-gcutil選項一樣),如果有發生垃圾收集,它還會顯示最後一次及當前正在發生垃圾收集的原因。 gcnew 用於檢視新生代垃圾收集的情況 gcnewcapacity 用於檢視新生代的儲存容量情況 gcold 用於檢視老生代及持久代發生GC的情況 gcoldcapacity 用於檢視老生代的容量 gcpermcapacity 用於檢視持久代的容量 gcutil 用於檢視新生代、老生代及持代垃圾收集的情況 printcompilation HotSpot編譯方法的統計