查看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 停止