# 查询Java 进程
jps -l
jps -lvm
# 查看Java GC 情况
jstat -gcutil pid 5000
参数说明如下:
S0: 新生代中Survivor space 0区已使用空间的百分比
S1: 新生代中Survivor space 1区已使用空间的百分比
E: 新生代已使用空间的百分比
O: 老年代已使用空间的百分比
P: 永久带已使用空间的百分比
YGC: 从应用程序启动到当前,发生Yang GC 的次数
YGCT: 从应用程序启动到当前,Yang GC所用的时间【单位秒】
FGC: 从应用程序启动到当前,发生Full GC的次数
FGCT: 从应用程序启动到当前,Full GC所用的时间
GCT: 从应用程序启动到当前,用于垃圾回收的总时间【单位秒】
# 主动触发GC
jmap -histo:live pid
# 获取jvm配置详细信息命令
jinfo pid
# 堆栈使用情况
jmap -F -heap pid
# 对应进程对象占用较多的取30个
jmap -histo:live pid | head -30
使用jstack分析线程状态,可以按照如下步骤命令:
(1)、可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序
(2)、找到占用cpu较高的pid
(3)、可以查看该进程下各个线程的cpu使用情况:top -Hp pid
(4)、输出对应pid十六进制:printf "%x\n" pid
(5)、查看该线程堆栈:jstack -l 310962 | grep pid的十六进制数据 -A20
(6)、也可以使用如下命令查看详细信息:jstack -l 310962 | more
# jmap输出dump文件,用来对应分析详细信息
jmap -dump:live,format=b,file=heap4.hprof pid
查看Java进程信息与GC情况
最新推荐文章于 2023-12-21 14:04:29 发布