Docker Community Forums

Share and learn in the Docker community.

Memory-swap vs. memory-swappiness and using in docker-compose

I have some questions (questions in bold):
1.memory-swap and memory-swappiness


If --memory and --memory-swap are set to the same value, this prevents containers from using any swap.

But wouldn’t that be the same if I set memory-swappiness to 0?
It was not 100% clear for me from this part of documention.

2. docker-compose v3

In the above link it says:

cpu_shares, cpu_quota, cpuset, mem_limit, memswap_limit: These have been replaced by the resources key under deploy. deploy configuration only takes effect when using docker stack deploy, and is ignored by docker-compose.

Is there any way to use mem_limit, memswap_limit in docker-compose (no docker stack deploy) with file version 3? Or workarounds other ways to set swapping to 0?


Sorry again: Has really nobody an idea?

Ok found something here, that explains my second question:

Seems that compose file v3 is meant to be used in swarm mode and not with docker-compose and I have to stay in v2 if I want to have these features.

Now only question 1 is missing!

Why doesn’t docker simply document whatever happened to memswap_limit?
It cannot be specified in Compose 3.7 yaml and I can’t find any references to configuration related to “swap”.

This github issue was shut down:

This stackoverflow thread is just as confused as we are:

Hello everyone,
I have a strange behavior on my docker swarm nodes that I share here to understand if it is normal operation or if someone haveing any advice for me.
I start by saying that on all nodes I have run the following commands (obviously after I have restarted all swarm nodes):

sysctl vm.swappiness=0

sysctl vm.overcommit_memory=1

The apparent problem is that I’m noticing heavy swap usage without RAM being used.
I don’t know if it is a normal behavior or if someone can advise me on how to use swap only if the available RAM is low (or finished).
I don’t know if I was able to explain myself. This is not causing problems for nodes stability that are functioning normally without any issue, I was just alarmed to see if this may be a problem or not.
The RAM of each docker node is 32GB and the swap is 2GB.

Thanks for your attention.

Hello lewish95,
Thank you very much for giving me this explanation, you have been very helpful.
Have a nice day :slight_smile:


You do realize that you are completing a Let me Google that for you bot.