Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm interested in theoretical limits, perhaps with examples of systems having huge numbers of CPU's.

share|improve this question
1  
How many can it handle? or how many can it handle before you lose some benefit? also what kernel? I suspect that this answer changes somewhat for a computer patched to run a supercomputer. I seem to recall reading about a single instance using 4096 processors... –  xenoterracide Dec 3 '10 at 10:43
    
what patch set, the normal patchset can't handle 4096 processors but linux has been patched to do it. (IIRC some answers seem to suggest it can) –  xenoterracide Dec 3 '10 at 12:33
    
@xeno I think the fact that there's even a patchset that handles 4096 processors is stuff that should be mentioned on the Answer. –  Tshepang Dec 3 '10 at 13:42
    
I don't recall much more than that, otherwise I'd give an answer, I also her performance gains pass 16? cores were limited... and that certain parts of the kernel needed a rewrite that had already begun. but really I don't have any citations and am not 100% that's why I'm not answering. –  xenoterracide Dec 3 '10 at 14:41

4 Answers 4

up vote 14 down vote accepted

At least 2048 in practice. As a concrete example, SGI sells its UV system, which can use 256 sockets (2,048 cores) and 16TB of shared memory, all running under a single kernel. I know that there are at least a few systems that have been sold in this configuration.

According to SGI:

Altix UV runs completely unmodified Linux, including standard distributions from both Novell and Red Hat.

share|improve this answer

this is what Launchpad has to say about Ubuntu, so I guess it applies to others:

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.

That is 32 or 64 CPUs for x86 and x86_64 respectively.

Redhat says the same, but in a management-friendly table. Redhat EL6 can do 32 for x86, or 128 or 4096 CPUs cores for x86_64.

share|improve this answer
3  
arch/x86/Kconfig says these CONFIG_NR_CPUS limits can be raised if CONFIG_MAXSMP is enabled. –  ephemient Dec 3 '10 at 18:30

This baby runs 10,368!

share|improve this answer

The x86_64 Linux kernel can handle a maximum of 4096 Processor threads in a single system image. This means that with hyper threading enabled, the maximum number of processor cores is 2048. Yes there is computers with more than 2048 processor cores; but these runs as clusters where several Linux kernels cooperate, connected with a high speed interconnect, typically an Infiniband fabric.

from the most current kernel 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.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.