开发过程中,遇到了docker部署的项目 飙升到100%以上
思路就是代码出现了死循环的现象,一直在做什么操作,导致cpu占用率持续增长到100%以上。(超过100%是因为电脑逻辑核数为16[使用命令lscpu],单核疯狂输出,但是不影响全局其他任务)
那根据这样去推理,就需要找到死循环的代码,也就是通过jstack去了解是哪个线程的。
进入容器中,容器中只运行一个进程时,默认PID为1
执行下列命令,获取占用率最高的PID对应的线程信息,查看指定进程中各个线程占用CPU的状态,选出耗时最多、最繁忙的线程id
ps -mp 1 -o THREAD,tid,time|sort -rn -k2 | head
接着将对应的线程id转为十六进制
printf "%x" 281
jstack 1 | grep 119 -A 10
相关文章
标签:服务器技术
- •VMware Workstation Pro 16安装CentOS7超详细图文步骤
- •CentOS7下配置使用JumpServer 堡垒机 (图文教程)
- •CentOS安装jdk的几种方法及配置环境变量方式
- •CentOS忘记密码修改方案以及centos卡在开机登录界面,命令失效的解决方法
- •解决笔记本安装centos7后无法调节屏幕亮度
- •VMware安装CentOS 8.1(CentOS 8系列可参考)的图文详细教程
- •CentOS7 minimal 最小化安装网络设置过程
- •CentOS7下搭建JumpServer
- •CentOS安装rpm包出现冲突时的解决办法
- •Vmware下CentOS7最小化安装方式