Docker守护程序由于长时间运行的进程中的日志而导致内存泄漏

alp*_*cod 25 memory lxc docker dockerfile

我有以下设置:

  1. Perl服务在容器中运行并将日志写入STDERR
  2. logspout将这些日志发送到远程服务器进行存档

在600 MB RAM机器中.

我还定期截断日志:

/var/lib/docker/containers/CID/CID-json.log

这里建议避免100%的磁盘场景.

问题

Docker守护程序启动时内存使用率较低,最初为1%,运行容器2天后缓慢增加到40%.

参考

这个问题这个问题中已经讨论过Docker守护进程内存泄漏.但他们两人现在都在关闭,并在提交时合并.我正在运行Docker 的最新主要版本(Docker版本1.4.0,版本4595d4f),但仍面临单调增加的内存使用问题.

编辑:我做了这个实验:只要运行在容器中的bash进程,打印出了不少线标准错误,码头工人守护进程的内存使用量加速非常快

即使基础日志文件(/var/lib/docker/containers/CID/CID-json.log)被清除,docker 是否会执行一些日志缓冲并且不会释放内存?

显然没有办法清除日志.将这个承诺解决这个问题,在长时间运行的任务是什么?

我不知道为什么docker守护进程的内存使用量不断增加.我该如何调试此问题?

mhs*_*ith 3

至少仍然存在一个与日志内存泄漏相关的未决问题: https: //github.com/docker/docker/issues/9139