Skip to content

Instantly share code, notes, and snippets.

@indzi
Created April 15, 2019 12:54
Show Gist options
  • Save indzi/cc089f3823f5ced9a88284ba7861abc1 to your computer and use it in GitHub Desktop.
Save indzi/cc089f3823f5ced9a88284ba7861abc1 to your computer and use it in GitHub Desktop.
#### CPU Constraints
You can limit CPU, either using a percentage of all CPUs, or by using specific cores.
For example, you can tell the [`cpu-shares`](https://docs.docker.com/engine/reference/run/#/cpu-share-constraint) setting. The setting is a bit strange -- 1024 means 100% of the CPU, so if you want the container to take 50% of all CPU cores, you should specify 512. See <https://goldmann.pl/blog/2014/09/11/resource-management-in-docker/#_cpu> for more:
```
docker run -it -c 512 agileek/cpuset-test
```
You can also only use some CPU cores using [`cpuset-cpus`](https://docs.docker.com/engine/reference/run/#/cpuset-constraint). See <https://agileek.github.io/docker/2014/08/06/docker-cpuset/> for details and some nice videos:
```
docker run -it --cpuset-cpus=0,4,6 agileek/cpuset-test
```
Note that Docker can still **see** all of the CPUs inside the container -- it just isn't using all of them. See <https://github.com/docker/docker/issues/20770> for more details.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment