I’m running Redis as a docker service and when I login to the machine it was assigned to and run docker stats I get the following:
CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
redis.1.wsqexigxdtraidyyphpmuunbm 0.08% 250.3MiB / 7.797GiB 3.13% 441MB / 190MB 0B / 175MB 0
Specifically, note the mem usage of 250.3MiB.
When running top, however, I see it’s using less than 200M:
6662 999 20 0 197144 171788 1508 S 0.0 2.1 1:19.12 redis-server
The only process running in the container is Redis itself:
ubuntu@prod-docker-4:~$ docker exec -t -i redis.1.wsqexigxdtraidyyphpmuunbm /bin/bash -c 'ps -efww'
UID PID PPID C STIME TTY TIME CMD
redis 1 0 3 19:23 ? 00:01:19 redis-server *:6379
root 21 0 0 20:06 ? 00:00:00 ps -efww
This doesn’t appear to be a fixed amount of “container overhead”, but rather ~1.5X ratio. 
Here are some more stats on Docker’s memory stats and the process memory usage:
ps aux --sort -rss, docker stats, ratio
171788, 250.3MiB, 1.46
343828, 514.2MiB, 1.49
433940, 656.1MiB, 1.51
519956, 788.7MiB, 1.52
Any ideas on where the additional memory is going?
System info:
ubuntu@prod-docker-4:~$ uname -a
Linux prod-docker-4 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@prod-docker-4:~$ cat /etc/issue.net
Ubuntu 14.04.5 LTS
ubuntu@prod-docker-4:~$ docker version
Client:
Version: 17.04.0-ce
API version: 1.28
Go version: go1.7.5
Git commit: 4845c56
Built: Mon Apr 3 17:54:19 2017
OS/Arch: linux/amd64
Server:
Version: 17.04.0-ce
API version: 1.28 (minimum version 1.12)
Go version: go1.7.5
Git commit: 4845c56
Built: Mon Apr 3 17:54:19 2017
OS/Arch: linux/amd64
Experimental: false
Thanks!