Итак, у меня есть простое веб-приложение Go Go, которое я развернул в качестве контейнера Docker. Я запускаю экземпляр t2.small
на AWS с CoreOS AMI.CoreOS Single Container High Memory Usage
Контейнер очень мало, используя только около 10 МБ памяти в соответствии с docker stat
:
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
Как вы можете см., что он использует почти 1,7 ГБ памяти его общей памяти объемом 2 ГБ, оставив только около 300 МБ. И это постепенно ухудшается.
У меня был экземпляр, работающий около 3 дней, и свободная память начиналась со скоростью около 400 МБ после нового запуска и запуска одного контейнера Docker.
О чем я должен беспокоиться? Или CoreOS должен использовать так много памяти, когда мое небольшое приложение Go в контейнере использует только 10 МБ.