1. 程式人生 > 其它 >java問題排查命令

java問題排查命令

java問題排查命令

jps:檢視java程序
jmap匯出堆詳細資訊(與jhat一起使用)
jhat分析Java堆的命令(與jmap一起使用)
jstack:可以定位到執行緒堆疊,根據堆疊資訊我們可以定位到具體程式碼,所以它在JVM效能調優中使用得非常多。

通常結合pstopprintfgrep命令使用。

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區中容量及分配情況等
OptionDisplays...
class 用於檢視類載入情況的統計
compiler 用於檢視HotSpot中即時編譯器編譯情況的統計
gc 用於檢視JVM中堆的垃圾收集情況的統計
gccapacity 用於檢視新生代、老生代及持久代的儲存容量情況
gccause 用於檢視垃圾收集的統計情況(這個和-gcutil選項一樣),如果有發生垃圾收集,它還會顯示最後一次及當前正在發生垃圾收集的原因。
gcnew 用於檢視新生代垃圾收集的情況
gcnewcapacity 用於檢視新生代的儲存容量情況
gcold 用於檢視老生代及持久代發生GC的情況
gcoldcapacity 用於檢視老生代的容量
gcpermcapacity 用於檢視持久代的容量
gcutil 用於檢視新生代、老生代及持代垃圾收集的情況
printcompilation HotSpot編譯方法的統計
轉自:https://www.cnblogs.com/rwxwsblog/p/6367243.html