java项目运行时,cpu占用率过高排查

近期在写socket通信时,在运行一段时间后,客户反馈访问很慢,打开服务器发现cpu飚的很高,几乎100%,于是百度资料分析排查问题,现将此次过程记录下,基于windows平台。

ps:因为我的问题已解决,下面的操作cpu都是比较低

1、首先下载ProcessExplorer工具

下载链接:链接:https://pan.baidu.com/s/168TnO-LEpHjEtn-jiGrwzw
提取码:1g6v

2、启动jvisualvm,位于jdk/bin下,打开需要监控的程序,点击线程,点击线程dump

java项目运行时,cpu占用率过高排查_第1张图片

3、打开ProcessExplorer,选中需要查看的程序,右击,选择properties

java项目运行时,cpu占用率过高排查_第2张图片

4、找到cpu高的线程,记录首行tid,此处tid是十进制,jvisualvm是十六进制,自行转换,此处是9876,转换是2694

java项目运行时,cpu占用率过高排查_第3张图片
5、找到2694的线程,分析线程的具体情况,比如是哪个类产生的
java项目运行时,cpu占用率过高排查_第4张图片

你可能感兴趣的:(java)