记一次容器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 查看日志,根据异常定位问题引发原因