【问题标题】:Docker daemon memory consumption grows over timeDocker 守护进程内存消耗随时间增长
【发布时间】:2020-01-16 09:32:58
【问题描述】:

这是场景:

在 Debian GNU/Linux 9 (stretch) VM 上,我运行了两个容器。前天我从监控中得到一个警告,内存使用率比较高。在查看 VM 之后,可以确定不是容器而是 Docker 守护进程需要它们。 htop

重新启动服务后,我注意到两天后内存需求出现了新的增长。见图表。

RAM + Swap overview

此版本是否存在已知的内存泄漏?

Docker version


2 天后的内存发展(容器):

容器 1 不变 容器 2 从 21.02MiB 增加到 55MiB


2 天后的内存发展 (VM): 机器上的 MEM 从 273M(重启后)增加到 501M

码头工人 - 重启后 1.3% MEM% - 2 天后 MEM% 的 6.0%

【问题讨论】:

  • 我们看到完全相同的问题,您找到解决方法了吗?

标签: docker memory-leaks


【解决方案1】:

监控您的容器以查看它们的内存使用情况是否随时间变化:

> docker stats

CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
623104d00e43        hq                  0.09%               81.16MiB / 15.55GiB   0.51%               6.05kB / 0B         25.5MB / 90.1kB     3

【讨论】:

  • 我已将数据添加到描述中:-)
  • @SarahSchwab:有什么突破吗??我们目前面临与 docker 版本客户端相同的问题:版本:19.03.6
【解决方案2】:

我们看到了一个类似的问题,它似乎与 gcplogs 日志记录驱动程序有关。我们在 docker 19.03.6 和 19.03.9(我们可以轻松使用的最新版本)上看到了问题。

切换回使用日志转发容器(例如 logspout)为我们解决了这个问题。

【讨论】:

    猜你喜欢
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2012-08-18
    • 2019-10-01
    • 2018-04-25
    • 1970-01-01
    • 2016-03-16
    • 2011-12-21
    相关资源
    最近更新 更多