手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何找出JAVA应用中占用CPU的代码

时间:2024-10-27 19:28:07

1、作为应用服务器,我们一般都是在linux环境下进行相关业务的部署。我们首先通过linux下的系统命令top获取当前占用CPU资源较多的进程,找到对应的进程pid。

如何找出JAVA应用中占用CPU的代码

2、通过命令:top -Hp pid,查看该进程下各线程占用资源情况,和上一个步骤一样,找到占用资源较多的线程pid

如何找出JAVA应用中占用CPU的代码

3、因为在jvm堆栈信息中线程pid是以十六进制展示的,所以将线程pid转换为十六进制,在linux终端下通过如下命令就可完成转换:printf ‘%x\n’25077

4、接下来我们通过:jstack 进程pid来打印出jvm中的堆栈信息,并找到对应线程的堆栈信息。这里的nid就是线程pid。

如何找出JAVA应用中占用CPU的代码
如何找出JAVA应用中占用CPU的代码

5、对线程状态进行分析。线程状态如下所示:1) 死锁,Deadlock(重点关注)2) 执行中,Runnable泌驾台佐3) 等待资源,Waiting on condition(重点关注,等待什么资源)4) 等待获取监视器,Waiting on monitor entry(重点关注)5) 暂停,Suspended6) 对象等待中,Object.wait() 或 TIMED_WAITING7) 阻塞,Blocked(重点关注)8) 停止,Parked

如何找出JAVA应用中占用CPU的代码
© 手抄报圈