実際には少なくとも 2048。具体的な例として、SGI が販売している UV システムは、256 ソケット (2,048 コア) と 16 TB の共有メモリを使用でき、すべて単一のカーネルで実行されます。この構成で販売されたシステムが少なくともいくつかあることは知っています。
SGIによると:
<ブロック引用>Altix UV は、Novell と Red Hat の両方の標準ディストリビューションを含む、完全に変更されていない Linux を実行します。
これは Launchpad が Ubuntu について述べていることなので、他の人にも当てはまると思います:
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.
これは、x86 と x86_64 でそれぞれ 32 個または 64 個の CPU です。
Redhat も同じことを言っていますが、管理しやすい表になっています。 Redhat EL6 は、x86 の場合は 32、x86_64 の場合は 128 または 4096 の CPU コアを実行できます。
x86_64 Linux カーネルは、1 つのシステム イメージで最大 4096 のプロセッサ スレッドを処理できます。これは、ハイパー スレッディングが有効な場合、プロセッサ コアの最大数が 2048 であることを意味します。はい、2048 を超えるプロセッサ コアを搭載したコンピュータがあります。ただし、これらは高速相互接続 (通常は Infiniband ファブリック) に接続された複数の Linux カーネルが連携するクラスターとして実行されます。
~/arch/x86/Kconfig 内の最新のカーネル 3.13 から:
構成 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.
更新:新しいカーネルでは、これはアーキテクチャ固有です。たとえば、4.15 x86_64 では、適切な状況で NR_CPUS を 8192 に設定できますが、32 ビット アームは 32 で停止します。