查看进程top
查看具体的线程
top -H -p 8898
如果cpu 过高,就是有问题的地方;
接下来根据docker查看具体的问题
查看dockers容器哪个内存、cpu占用过高
docker stats
前言:
有java 启动容器;有jre包启动的容器。如下图
根据cpu很高的进行排查
以下三个命令均能进入容器
docker exec -it 22485bfa0ff3 /bin/bash
docker exec -it 22485bfa0ff3 /bin/sh
docker exec -it 22485bfa0ff3 sh
需要借助阿里的工具 arthas,先来官网下载,之后上传到docker挂载的目录,这样进入docker容器之后就能看到arthas的包了
需要的自取,
地址为:链接: https://pan.baidu.com/s/11K7pQj5WaiU0OMgfaVXcKA?pwd=56ik 提取码: 56ik 复制这段内容后打开百度网盘手机App,操作更方便哦
如果是jre包启动的docker,需要这个工具一起用,
地址为:链接: https://pan.baidu.com/s/1Kt_LYG3WWisHgefLWZXGjw?pwd=b6q3 提取码: b6q3 复制这段内容后打开百度网盘手机App,操作更方便哦
进入容器之后,首先启动atthas,然后才能进行具体的分析,如下:
启动之后:
thread
thread -n 5
thread 8898
查看具体出问题的代码。分析、优化