Esther_5
Esther_5

Reputation: 191

Docker container increases ram

I have launched several docker containers and using docker stats, I have verified that one of them increases the consumption of ram memory since it starts until it is restarted.

My question is if there is any way to verify where such consumption comes from within the docker container. There is some way to check the consumption inside the container, something of the docker stats style but for the inside of the container.

Thanks for your cooperation.

Upvotes: 0

Views: 557

Answers (1)

tgogos
tgogos

Reputation: 25122

Not sure if it's what you are asking for, but here's an example:

(Before your start):

  1. Run a test container docker run --rm -it ubuntu
  2. Install stress by typing apt-get update and apt-get install stress
  3. Run stress --vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1 (it will start consuming memory)

1. with top

If you go to a new terminal you can type docker container exec -it <your container name> top and you will get something like the following:

(notice that the %MEM usage of PID 285 is 68.8%)

docker container exec -it dreamy_jang top

top - 12:46:04 up 22 min,  0 users,  load average: 1.48, 1.55, 1.12
Tasks:   4 total,   2 running,   2 sleeping,   0 stopped,   0 zombie
%Cpu(s): 20.8 us,  0.8 sy,  0.0 ni, 78.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  6102828 total,   150212 free,  5396604 used,   556012 buff/cache
KiB Swap:  1942896 total,  1937508 free,     5388 used.   455368 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                   
  285 root      20   0 4209376 4.007g    212 R 100.0 68.8   6:56.90 stress                                                                                                    
    1 root      20   0   18500   3148   2916 S   0.0  0.1   0:00.09 bash                                                                                                      
  274 root      20   0   36596   3072   2640 R   0.0  0.1   0:00.21 top                                                                                                       
  284 root      20   0    8240   1192   1116 S   0.0  0.0   0:00.00 stress

2. with ps aux

Again, from a new terminal you type docker container exec -it <your container name> ps aux

(notice that the %MEM usage of PID 285 is 68.8%)

docker container exec -it dreamy_jang ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  18500  3148 pts/0    Ss   12:25   0:00 /bin/bash
root       284  0.0  0.0   8240  1192 pts/0    S+   12:39   0:00 stress --vm-byt
root       285 99.8 68.8 4209376 4201300 pts/0 R+   12:39   8:53 stress --vm-byt
root       286  0.0  0.0  34400  2904 pts/1    Rs+  12:48   0:00 ps aux

My source for this stress thing is from this question: How to fill 90% of the free memory?

Upvotes: 1

Related Questions