记一次容器CPU高占用问题排查

起因:发现docker中有两个容器的CPU持续在百分之95以上运行了一晚上
执行命令:docker stats

发现这个两个大兄弟一点没歇满负荷跑了一晚上,再这么下去怕不是要GG
容器里跑的是JAVA应用,JDK版本1.8
首先进入容器内部:docker exec -it 容器ID /bin/bash
然后下载阿里巴巴提供的开源JAVA检查工具 Arthas


发现容器内没有wget 和 yum
所以先执行 apt-get update
然后执行 apt insatll wget

wget装好以后安装 Arthas

wget https://arthas.gitee.io/arthas-boot.jar

启动 Arthas java -jar arthas-boot.jar 应用进程ID

启动成功后 Shell会切换到 arthas
执行 dashboard 会看到当前应用的各种运行参数

从dashborad中我们可以看到 365号CPU占了百分之97,看来是这孙子没跑了。。。。。。
执行thread -n 365 查看日志,根据异常定位问题引发原因

原文地址:https://www.cnblogs.com/Tassdar/p/13031012.html