1、首先使用top命令找到占用Cpu高的进程
top相关的操作
默认按照CPU利用率排序
2、确定进程对应的相关程序:
ps 114962
3、查看该进程相应的线程的详细数据
top -Hp 114962
确定该进程中是哪个线程占用的cpu最高
4、获取线程十六进制pid
printf "%xn" 117214
5、获取线程状态信息,看是否存在报错
jstack 117214|grep -A 30 1c9de
若无相关报错信息,则查看相关项目的日志信息和jvm情况
查看堆内存使用情况
jmap -heap 114962(项目进程信息)
查看某个进程JVM的GC使用情况
jstat -gc 114962 5000 jstat -gc 进程号 刷新时间```![在这里插入图片描述](https://img-blog.csdnimg.cn/b5277b21b1854fe09262358d5a23571b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pyJ6Laj55qE54G16a2CX-S4jeS4luS_l-eahOW_gw==,size_17,color_FFFFFF,t_70,g_se,x_16)S0C:年轻代中第一个survivor(幸存区)的容量 (字节)S1C:年轻代中第二个survivor(幸存区)的容量 (字节)S0U :年轻代中第一个survivor(幸存区)目前已使用空间 (字节)S1U :年轻代中第二个survivor(幸存区)目前已使用空间 (字节)EC :年轻代中Eden(伊甸园)的容量 (字节)EU :年轻代中Eden(伊甸园)目前已使用空间 (字节)OC :Old代的容量 (字节)OU :Old代目前已使用空间 (字节)MC:metaspace(元空间)的容量 (字节)MU:metaspace(元空间)目前已使用空间 (字节)YGC :从应用程序启动到采样时年轻代中gc次数YGCT :从应用程序启动到采样时年轻代中gc所用时间(s)FGC :从应用程序启动到采样时old代(全gc)gc次数FGCT :从应用程序启动到采样时old代(全gc)gc所用时间(s)GCT:从应用程序启动到采样时gc用的总时间(s)