Hi everyone,
I have a question regarding container memory usage reported by docker input. My current understanding is that usage measurement should be equal to the one reported by docker stats, however in my case it is not so.
Telegraf:
docker run --rm --user telegraf:$(stat -c '%g' /var/run/docker.sock) -v /var/run/docker.sock:/var/run/docker.sock -v $PWD/telegraf.conf:/etc/telegraf/telegraf.conf telegraf:1.24.2-alpine telegraf --input-filter docker --test|grep docker_container_mem|grep automatl-mariadb
> docker_container_mem,com.docker.compose.config-hash=a67af2ccb8aeac9848037677f3efd5ab9cc4f2c995ceb82f6dc43c7f06431b5b,com.docker.compose.container-number=1,com.docker.compose.oneoff=False,com.docker.compose.project=automatl-mariadb,com.docker.compose.project.config_files=docker-compose.yml,com.docker.compose.project.working_dir=/home/kykc/automatl-docker/automatl-mariadb,com.docker.compose.service=automatl-mariadb,com.docker.compose.version=1.26.2,container_image=automatl-mariadb_automatl-mariadb,container_name=automatl-mariadb,container_status=running,container_version=unknown,engine_host=halo,host=b011afded2cb,server_version=20.10.18 active_anon=4096i,active_file=29614080i,cache=77262848i,container_id="3e04de2449cf19e647cdd405380c3e71d1d4e910daf958080ee18bf1f2455042",hierarchical_memory_limit=9223372036854771712i,inactive_anon=87457792i,inactive_file=47648768i,limit=16706154496i,mapped_file=25022464i,max_usage=168194048i,pgfault=73829i,pgmajfault=251i,pgpgin=86129i,pgpgout=45913i,rss=87461888i,rss_huge=0i,total_active_anon=4096i,total_active_file=29614080i,total_cache=77262848i,total_inactive_anon=87457792i,total_inactive_file=47648768i,total_mapped_file=25022464i,total_pgfault=73829i,total_pgmajfault=251i,total_pgpgin=86129i,total_pgpgout=45913i,total_rss=87461888i,total_rss_huge=0i,total_unevictable=0i,total_writeback=0i,unevictable=0i,usage=90247168i,usage_percent=0.5402031210809652,writeback=0i 1665736707000000000
Docker stats:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
3e04de2449cf automatl-mariadb 0.05% 114.3MiB / 15.56GiB 0.72% 987kB / 713kB 103MB / 14.1MB 9
So, telegraf’s usage=90247168=86.07MiB, while docker stats reports 114.3MiB. The usage percents are also different.
Just playing around with numbers I’ve noticed that active_file + cached = 29614080+90247168 = 114.3MiB
Can you please clarify for me is this expected behavior or I’ve stumbled upon something weird?
Thank you in advance.
