Docker Community Forums

Share and learn in the Docker community.

Docker --cpu option with hyperthreading

Hello, i am deploying an application in a docker container and set the --cpu option to 4.

However i am not sure, what that exactly does mean for me?
I have an eight-core processor with hyperthreading so i have 16 threads available.
Is the application only capable of using 4 of those threads (and therefore 2 cpu-cores) or 4 (of the 8) processor-cores and therefore 8 of those threads?

I couldn’t really get the answer in the docs, because what exactly the term ‘cpu’ is defined as in this context: a real physical cpu-core or a virtual thread (also this variies a lot of linux commands).
PS: I use docker on linux!

I would be glad about any help, thanks in advance! :slight_smile:

It should be logical cpu’s (core+ht).

I am sure you stumbled across Runtime options with Memory, CPUs, and GPUs | Docker Documentation

Thanks for the answer.

Yeah i already read trough the documentation however i was not sure what the used definition for ‘cpu’ there was (logical cpu’s or physical cpu-cores?),
especially because in the option --cpuset-cpus the description says ‘cpu’s or cpu-cores’ which is not the same at all with hyperthreading.