O kernel Linux x86_64 pode lidar com um máximo de 4096 threads de processador em uma única imagem do sistema. Isso significa que, com o hyper-threading ativado, o número máximo de núcleos do processador é 2048. Sim, há computadores com mais de 2048 núcleos de processador; mas estes são executados como clusters onde vários kernels Linux cooperam, conectados a uma interconexão de alta velocidade, tipicamente um tecido Infiniband.
do kernel 3.13 mais atual, em ~ / arch / x86 / Kconfig:
config NR_CPUS
---help---
This allows you to specify the maximum number of CPUs which this
kernel will support. If CPUMASK_OFFSTACK is enabled, the maximum
supported value is 4096, otherwise the maximum value is 512. The
minimum value which makes sense is 2.
This is purely to save memory - each supported CPU adds
approximately eight kilobytes to the kernel image.
Atualização: Nos kernels mais recentes, isso é específico da arquitetura - por exemplo, em 4.15 x86_64 permite que você defina NR_CPUS como 8192 nas circunstâncias corretas, enquanto 32 bits braço pára em 32 .