Richard Knop
Richard Knop

Reputation: 83695

CoreOS Single Container High Memory Usage

So I have a simple Go web app I deployed as a Docker container. I am running a t2.small instance on AWS with CoreOS AMI.

The container is very small, only using about 10MB of memory according to 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

However the CoreOS instance seems to be using a lot of memory:

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

As you can see it's using almost 1.7GB of memory of its 2GB total memory with only about 300MB left. And this seems to be slowly getting worse.

I've had the instance running for about 3 days now and the free memory started at around 400MB after fresh launch and starting a single Docker container.

Is this something I should worry about? Or is CoreOS supposed to use so so much memory when my little Go app in a container only uses tiny 10MB.

Upvotes: 1

Views: 2169

Answers (1)

Andy Shinn
Andy Shinn

Reputation: 28493

Because a lot of that memory usage is buffers and cache. The better indicator is your application from Docker (which is likely close if it is a small Go app) and the OS total usage minux buffers and cache on the second line (which is closer to 400 MB used).

See https://unix.stackexchange.com/a/152301/6515 for a decent explanation.

Upvotes: 2

Related Questions