当前位置: 首页> 房产> 建筑 > 东莞企业黄页资料_想做网站该怎么操作_谷歌外贸平台叫什么_百度知道合伙人官网

东莞企业黄页资料_想做网站该怎么操作_谷歌外贸平台叫什么_百度知道合伙人官网

时间:2025/7/14 18:36:59来源:https://blog.csdn.net/weixin_43891901/article/details/143888228 浏览次数:0次
东莞企业黄页资料_想做网站该怎么操作_谷歌外贸平台叫什么_百度知道合伙人官网

文章目录

    • 拿到CPU占用高的进程ID
    • 通过进程ID拿到CPU占用高的线程ID
    • 将线程ID转换为十六进制
    • jstack分析线程栈信息

CPU占用过高的时候要先找出到底是哪个进程下的线程占用内存过高了。

我在线上预先写了一个Java程序,Test.java用于本篇文章实验所用。模拟CPU占用过高时的具体情况。

image-20241119153419624

拿到CPU占用高的进程ID

top -c

image-20241119153257326

我们发现Java程序Test,进程ID为 22912的进程占用CPU是最高的!

接下来我们根据得到的进程ID拿到CPU占用过高的线程ID。

通过进程ID拿到CPU占用高的线程ID

通过命令:

ps H -eo pid,tid,%cpu | grep 39855

image-20241119154554073

可以发现,线程ID为39856的线程占用CPU是最高的。

将线程ID转换为十六进制

printf "%x\n" 39856

jstack分析线程栈信息

jstack 88667 | grep 15a5c -A20
  • 其中88667是进程ID

  • 15a5c是线程ID转换为十六进制以后得结果

image-20241119160516880

追根溯源,查看代码第四行:

image-20241119160654688

原来就是while循环导致CPU占用过高!

关键字:东莞企业黄页资料_想做网站该怎么操作_谷歌外贸平台叫什么_百度知道合伙人官网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: