【问题标题】:CoreOS Single Container High Memory UsageCoreOS 单容器高内存使用
【发布时间】:2016-05-03 03:29:36
【问题描述】:

所以我有一个简单的 Go Web 应用程序,我将其部署为 Docker 容器。我正在使用 CoreOS AMI 在 AWS 上运行 t2.small 实例。

容器很小,根据docker stat只用了10MB左右的内存:

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O               BLOCK I/O
8e230506e99a        0.00%               11.11 MB / 2.101 GB   0.53%               49.01 MB / 16.39 MB   1.622 MB / 0 B

不过,CoreOS 实例似乎使用了大量内存:

$ free
             total       used       free     shared    buffers     cached
Mem:       2051772    1686012     365760      25388     253096    1031836
-/+ buffers/cache:     401080    1650692
Swap:            0          0          0

正如您所见,它使用了 2GB 总内存中的近 1.7GB 内存,只剩下大约 300MB。这似乎正在慢慢变得更糟。

我的实例已经运行了大约 3 天,并且在全新启动并启动单个 Docker 容器后,可用内存大约为 400MB。

这是我应该担心的事情吗?或者当我在容器中的小 Go 应用程序只使用很小的 10MB 时,CoreOS 是否应该使用这么多内存。

【问题讨论】:

    标签: memory docker coreos


    【解决方案1】:

    因为很多内存使用是缓冲区和缓存。更好的指标是来自 Docker 的应用程序(如果它是一个小型 Go 应用程序,它可能很接近)和第二行上的 OS 总使用量 minux 缓冲区和缓存(接近 400 MB 使用)。

    请参阅https://unix.stackexchange.com/a/152301/6515 以获得体面的解释。

    【讨论】:

      猜你喜欢
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 2019-09-18
      • 2013-06-19
      相关资源
      最近更新 更多