我有以下设置:
STDERR
。在一台600 MB的RAM机器中。
我还定期在以下位置截断日志:
/var/lib/docker/containers/CID/CID-json.log
正如建议的那样,这里可以避免100%的磁盘场景。
问题
Docker守护进程以较低的内存使用率启动,在运行容器的2天后,1%开始缓慢地增加到40%。
参考
本期和本期中已经提到了Docker守护进程内存泄漏问题。但它们现在都关闭了,表示在提交时合并。我正在运行最新版本的docker (DockerVersion1.4.0,Build4595d4f),但仍然面临着内存使用量单调增加的问题。
编辑:我做了这个实验:只要在容器中运行bash进程,打印出很多行到STDERR,停靠守护进程的内存使用就会加速。
即使清除了底层日志文件(/var/lib/docker/containers/CID/CID-json.log
),docker是否执行某些/var/lib/docker/containers/CID/CID-json.log
并且不释放内存?
显然有不行来清理日志。对于长期运行的任务,此承诺会解决这个问题吗?
我不知道为什么docker守护进程的内存使用量不断增加。如何调试此问题?
发布于 2015-03-06 13:11:53
至少还有一个与日志内存泄漏有关的未决问题:https://github.com/docker/docker/issues/9139。
发布于 2015-03-06 13:26:03
这可能不是您要寻找的,但我通常运行一个cron作业重新启动我的容器后,每天一定时间。这确保了容器始终都有足够的RAM,而且我通常在创建容器时限制容器的最大内存使用量。
容器只需几秒钟就可以重新启动和服务数据,如果您没有运行高可用性服务,并且能够承受几秒钟的停机时间,请考虑重新启动容器(假设您没有持久卷)。
然而,如果你确实找到了解决你的问题的办法,请告诉我们。
发布于 2017-10-30 11:17:45
docker rm $(docker ps -a -q)
docker rmi --force $(docker images -q)
docker system prune --force
需要成为根用户。
systemctl stop docker
rm -rf /var/lib/docker/aufs
apt-get autoclean
apt-get autoremove
systemctl start docker
https://stackoverflow.com/questions/27628276
复制相似问题