查看Java進程pid
jps [-l]
-l 表示輸出長信息
jps -l 等同 ps -ef | grep Java
查看運行的進程使用系統資源情況
top
查看進程中線程佔用系統資源情況
top -H -p pid
也可以寫成 top -Hp pid
導出jvm進程對應的堆棧信息
jmap -dump:live,format=b,file=vm20201021.bin pid
-dump:live 表示堆中存活的對象
format=b 表示導出信息的保存格式
vm20201021.bin 表示存儲文件名
pid 進程ID
堆棧信息分析
導出的文件使用分析工具分析:MemoryAnalyzer
導出jvm進程中的線程軌跡
jstack [-F] [-m] [-l] pid > vm20201021.log
-F 表示強制導出 Force a stack dump
-m 表示混合模式 prints mixed mode stack trace
-l 長列表 Long listing. Prints additional infomation about locks such as list of owned java.util.concurrent ownable synchronizers.
pid 進程ID
vm20201021.log 輸出到的文件名
線程信息分析
Deadlock 死鎖 (重點關注)
Runnable 執行中
Waiting on condition 等待資源 (重點關注)
Waiting on monitor entry 等待獲取監視器 (重點關注)
Suspended 暫停
Blocked 阻塞 (重點關注)
Parked 停止