1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - Linux系统 - centos - 正文

君子好学,自强不息!

开发过程中,遇到了docker部署的项目 飙升到100%以上

CentOS中docker部署的项目CPU占用率持续100%以上

 思路就是代码出现了死循环的现象,一直在做什么操作,导致cpu占用率持续增长到100%以上。(超过100%是因为电脑逻辑核数为16[使用命令lscpu],单核疯狂输出,但是不影响全局其他任务)

那根据这样去推理,就需要找到死循环的代码,也就是通过jstack去了解是哪个线程的。

进入容器中,容器中只运行一个进程时,默认PID为1

执行下列命令,获取占用率最高的PID对应的线程信息,查看指定进程中各个线程占用CPU的状态,选出耗时最多、最繁忙的线程id

ps -mp 1 -o THREAD,tid,time|sort -rn -k2 | head

 CentOS中docker部署的项目CPU占用率持续100%以上

接着将对应的线程id转为十六进制

printf "%x" 281

 CentOS中docker部署的项目CPU占用率持续100%以上

jstack 1 | grep 119  -A 10

CentOS中docker部署的项目CPU占用率持续100%以上

 

本文来源:1818IP

本文地址:https://www.1818ip.com/post/32789.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。