Almeno 2048 in pratica. Come esempio concreto, SGI vende il suo sistema UV, che può utilizzare 256 socket (2.048 core) e 16 TB di memoria condivisa, tutti in esecuzione sotto un singolo kernel. So che ci sono almeno alcuni sistemi che sono stati venduti in questa configurazione.
Secondo SGI:
Altix UV esegue Linux completamente non modificato, comprese le distribuzioni standard di Novell e Red Hat.
questo è ciò che Launchpad ha da dire su Ubuntu, quindi immagino che si applichi ad altri:
1.Intel x86:
Maximum CPUs: 32 (including logical CPUs)
Maximum memory: 64GB
Maximum filesize: 8TB
Maximum filesystem size (ext3) 16TB
Maximum per-process virtual address space: 4GB
2.AMD64/EM64T:
Maximum CPUs: 64
Maximum memory: 128GB
Maximum filesize: 8TB
Maximum filesystem size (ext3): 16TB
Maximum per-process virtual address space: N/A
These are standard max limitations whereas Linux cluster systems can scale up to 1024 CPU's.
Ovvero 32 o 64 CPU rispettivamente per x86 e x86_64.
Redhat dice lo stesso, ma in una tabella di facile gestione. Redhat EL6 può eseguire 32 core per x86 o 128 o 4096 CPU per x86_64.
Il kernel Linux x86_64 può gestire un massimo di 4096 thread del processore in una singola immagine di sistema. Ciò significa che con l'hyper threading abilitato, il numero massimo di core del processore è 2048. Sì, ci sono computer con più di 2048 core del processore; ma questi vengono eseguiti come cluster in cui cooperano diversi kernel Linux, connessi con un'interconnessione ad alta velocità, tipicamente un fabric Infiniband.
dal kernel più recente 3.13, in ~/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.
Aggiornamento:nei kernel più recenti questo è specifico dell'architettura, ad esempio su 4.15 x86_64 consente di impostare NR_CPUS su 8192 nelle giuste circostanze, mentre il braccio a 32 bit si ferma a 32.