.NET runtime currently fails to start on Linux machines with more than 1024 CPUs. That is true even for containers running on such hardware with much smaller number of CPU cores assigned to the container. The reason is that the sched_getaffinity call is used with the default statically allocated cpu_set_t which on Linux supports max 1024 CPUs. To support more CPUs, it is necessary to use a dynamically allocated cpu_set_t using CPU_ALLOC macro.
.NET runtime currently fails to start on Linux machines with more than 1024 CPUs. That is true even for containers running on such hardware with much smaller number of CPU cores assigned to the container. The reason is that the
sched_getaffinitycall is used with the default statically allocatedcpu_set_twhich on Linux supports max 1024 CPUs. To support more CPUs, it is necessary to use a dynamically allocatedcpu_set_tusingCPU_ALLOCmacro.