Closed
Description
We are trying to upgrade to .NET Core 3.1. But we that Environment.ProcessorCount
reports different values on .NET Core 3.1.
We use the official SDK docker images. I've attached 2 sample projects, 1 for 3.0 and 1 for 3.1
Repro
To repro use the following command to run:
1. docker build . -f Dockerfile
2. docker run --cpus=1 <image_built_from_#1>
Outcome
3.0
The number of processors on this computer is 1.
3.1
The number of processors on this computer is <actual_node_cpus>.
So if a machine has 8 cores, in 3.0
a container assigned 1 core we still got an outcome of 1
, while in 3.1
the outcome is 8
.
Is this change by design ?
Were are also seeing much higher cpu consumption on the 3.1 containers, our initial theory that the runtime is thinking it has more cores while it does not.