docker内存占用异常,如何定位原因

首先查看服务器内存占用情况:

df -h

其次查看docker所在目录下的内存使用情况:

#找到docker所在目录
which docker

#cd到docker目录下,列出所有文件夹
cd 
ls
#查看具体是哪个文件夹异常
du -h --max-depth=1

如果是containers过大,大概率是docker容器运行时间较长日志太大。可以通过以下命令具体查看每个容器的日志的大小。

docker inspect --format='{{.LogPath}}' <容器ID或名称> | xargs sudo du -sh

定位到异常容器后可删除并重启该容器,在启动容器的命令中加入参数设置,限制日志的大小。例如:

#限制日志文件为50M
docker run --name mycontainer -d --log-opt max-size=50m <image>

如果是overlayer2文件夹较大,可能是Docker未用容器、镜像、缓存等过多:如果Docker中存在许多未使用的容器、镜像或缓存,这些资源也会占用磁盘空间。

查看当前所有的docker容器和镜像,确认是否有废弃容器和镜像可以删除。

#查看docker容器
docker ps -a
#删除容器
docker rm <容器id>

#查看docker镜像
docker images
#删除镜像
docker rmi <镜像id>

或者也可以通过以下命令清理所有未使用的容器、镜像、网络、卷:

#删除所有未使用的容器、镜像、网络、卷:
docker system prune --volumes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值