Java教程

java服务CPU占用过高

本文主要是介绍java服务CPU占用过高,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

      • 1、查看占用CPU高的进程
      • 2、查看服务线程信息
      • 3、查看问题线程状态
      • 4、jstack查看线程信息
      • 5、代码问题排查

以下代码没有特殊说明,都是指终端命令行操作

1、查看占用CPU高的进程

top

在这里插入图片描述

2、查看服务线程信息

ps -mp 183 -o THREAD,tid,time

在这里插入图片描述

3、查看问题线程状态

通过上一步,我们可以看到TID为220的线程占用cpu比较高。
转化为16进制方便后续查询。

printf "%x\n" 220

在这里插入图片描述
查看该线程运行状态。

jstack 183 | grep dc

在这里插入图片描述

4、jstack查看线程信息

jstack 183

在这里插入图片描述

5、代码问题排查

从上一步我们可以定位到ValueLoad类中的print()接口,再结合我们的代码逻辑具体分析。
在这里插入图片描述

这篇关于java服务CPU占用过高的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!