Memory CoreOS单容器高内存使用率

Memory CoreOS单容器高内存使用率,memory,docker,coreos,Memory,Docker,Coreos,因此,我有一个简单的Go web应用程序,部署为Docker容器。我正在使用CoreosAMI在AWS上运行一个t2.small实例 容器非常小,根据docker stat的数据,仅使用了大约10MB的内存: CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O 8e230506e99a 0.00%

因此,我有一个简单的Go web应用程序,部署为Docker容器。我正在使用CoreosAMI在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


这是我应该担心的吗?或者,当我的容器中的little Go应用程序只使用极小的10MB时,CoreOS应该使用如此多的内存。

因为大部分内存使用是缓冲区和缓存。更好的指标是Docker的应用程序(如果它是一个小型Go应用程序,则很可能接近),以及第二行的操作系统总使用量minux缓冲区和缓存(使用量接近400 MB)

请参阅,以获得合理的解释