当用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;
}
}