问题背景
在宿主机执行top命令,可以看到agetty进程CPU占用率100%。
引起这个问题的原因是在使用"docker run"运行容器时使用了 “/sbin/init"和”–privileged"参数,即使容器不存在了,这个进程一直会保留。
问题解决
在宿主机和容器执行下述命令,容器不存在了只在宿主机执行即可。
systemctl stop getty@tty1.service
systemctl mask getty@tty1.service
命令执行后在通过top命令查看,发现agetty不见了。
ps:如果不知道agetty属于哪个容器可以执行下面命令
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Name}}' | grep $(ps -ef|grep <pid> |grep -v grep |awk '{print $3}')
上述命令中为agetty进程pid