本文主要是介绍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占用过高的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!