当用top命令查看时,忘记截图了这个值是100多

根据:top -H -p PID 查询相关PID结果

用计算器

使用jstack pid (java继承的pid) >> java.txt 导出CPU占用高进程的线程栈。
找到文件中 nid=4eaa的这个,然后如图中确定了代码中的位置

代码中的67行

问题定位到了,但解决方案还要继续探讨
查看 https://blog.csdn.net/weixin_29224589/article/details/114204097 这篇文章
当telnet ip port时 不发送任何数据然后断开连接,while(true)陷入死循环
len=inputStream.read(b)!=-1 死循环,最后导致cpu标高,快速解决方法
while(true){
if(len=inputStream.read(b)!=-1 ){
// 业务处理
}
else{
//连接断开报文结束
return;
}
}
本文介绍了一次CPU使用率异常升高的排查过程。通过top命令发现异常进程,并利用jstack工具导出线程栈,最终定位到代码中的具体行数。文章还提供了一个快速解决方案,针对特定业务代码的死循环问题。

837

被折叠的 条评论
为什么被折叠?



