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

 时间:2026-04-24 05:54:20

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)  暂停,Suspended

6)  对象等待中,Object.wait() 或 TIMED_WAITING

7)  阻塞,Blocked(重点关注) 

8)  停止,Parked

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

  • 蛋抱饺的做法
  • 初中数学要怎么学才能提高成绩?
  • 孩子抵抗力差怎么办?儿童钙铁锌怎么补充好?
  • 华为运动健康怎么样绑定荣耀手环4
  • 如何在虚拟机上安装中兴新支点桌面操作系统教程
  • 热门搜索
    烂脚丫最佳治疗方法 电脑机器码怎么查 小虾米怎么做好吃 三明治的做法家常做法 米兰花的养殖方法和注意事项 芦笋怎么做好吃 游标卡尺的读数方法 北京烤鸭哪里好吃 哑铃锻炼方法 怎么修改默认浏览器