【发布时间】: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 是否应该使用这么多内存。
【问题讨论】: