Memory 由于长时间运行进程的日志,Docker守护程序内存泄漏
我有以下设置:Memory 由于长时间运行进程的日志,Docker守护程序内存泄漏,memory,docker,lxc,dockerfile,Memory,Docker,Lxc,Dockerfile,我有以下设置: 在容器中运行的Perl服务,并将日志写到STDERR 将这些日志发送到远程服务器进行存档 在一台600 MB内存的机器中 我还定期在以下位置截断日志: /var/lib/docker/containers/CID/CID-json.log 建议避免100%使用磁盘的情况 问题 Docker守护进程以低内存使用率开始,最初为1%,运行容器2天后缓慢增加到40% 参考 Docker守护进程内存泄漏已在和中讨论过。但现在这两个网站都关闭了,表示在提交时进行了合并。我正在运行docke
STDERR
/var/lib/docker/containers/CID/CID-json.log
建议避免100%使用磁盘的情况
问题
Docker守护进程以低内存使用率开始,最初为1%,运行容器2天后缓慢增加到40%
参考
Docker守护进程内存泄漏已在和中讨论过。但现在这两个网站都关闭了,表示在提交时进行了合并。我正在运行docker的最新主要版本(docker 1.4.0版,build 4595d4f),但仍然面临着单调增加的内存使用问题
编辑:我做了这个实验:只需在容器中运行一个bash进程,向STDERR打印很多行,docker守护进程的内存使用就会非常快地加速
docker是否执行了一些操作,即使清除了底层日志文件(/var/lib/docker/containers/CID/CID json.log
),也不会释放内存
显然没有办法清理日志。对于长时间运行的任务,是否可以解决此问题
我不知道为什么docker daemon的内存使用量不断增加。如何调试此问题?仍有至少一个与日志内存泄漏相关的未决问题:这可能不是您想要的,但我通常在每天一定时间后运行cron作业以重新启动容器。这确保了容器始终有足够的RAM,并且我通常在创建容器时限制容器的最大RAM使用量
容器只需几秒钟重启并服务数据,如果您没有运行高可用性服务,并且可以提供几秒钟的停机时间,请考虑重新启动容器(假设您没有持久卷)。p> 但是,如果您确实找到了问题的解决方案,请务必让我们知道。
docker rm$(docker ps-a-q)
dockerrmi--force$(dockerimages-q)
docker系统删减——强制
systemctl stop docker
rm-rf/var/lib/docker/aufs
apt获得自动清洁
apt-get-autoremove
systemctl启动docker
yes
;我可以让Docker使用大量CPU,但不会增加内存。也许我使用了不同的选项-您在docker run上使用了哪个-dti
?也许发布一个完整的最小复制?