I have some questions (questions in bold):
1.memory-swap and memory-swappiness
In “PREVENT A CONTAINER FROM USING SWAP” it says:
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?
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.