有时候我们可能会遇到Docker容器占用资源过高的情况,但我们不知道具体是哪个容器导致的。这时我们可以通过查找进程来找到具体的容器。以下是一些常用的命令:
1.通过top查看内存占用高的进程
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2962 root 20 0 1040288 96708 19944 S 0.3 2.5 234:48.26 node 2.通过pid查看具体容器
# docker ps -q | xargs docker inspect --format '{{.Id}} {{.State.Pid}} {{.Name}}'|grep 2962
没有结果输出3.查找进程父ID
# ps -ef | grep -v grep | grep 2962 | awk '{print $3}'
23704.再次通过pid查看具体容器
# docker ps -q | xargs docker inspect --format '{{.Id}} {{.State.Pid}} {{.Name}}'|grep 2370
a7ee14c010259f0aabxxx 2370 /xxx5.补充,根据容器 container_id 查看pid
docker inspect -f '{{.State.Pid}}' <container_id>参考链接
https://blog.csdn.net/p243679396/article/details/120080919