GNU/Linux >> Tutoriels Linux >  >> Linux

Combien de cœurs le noyau Linux peut-il gérer ?

Au moins 2048 en pratique. À titre d'exemple concret, SGI vend son système UV, qui peut utiliser 256 sockets (2 048 cœurs) et 16 To de mémoire partagée, le tout fonctionnant sous un seul noyau. Je sais qu'il y a au moins quelques systèmes qui ont été vendus dans cette configuration.

Selon SGI :

Altix UV exécute Linux entièrement non modifié, y compris les distributions standard de Novell et de Red Hat.


voici ce que Launchpad a à dire à propos d'Ubuntu, donc je suppose que cela s'applique aux autres :

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.

Soit 32 ou 64 processeurs pour x86 et x86_64 respectivement.

Redhat dit la même chose, mais dans un tableau convivial pour la gestion. Redhat EL6 peut faire 32 cœurs de processeurs pour x86, ou 128 ou 4096 pour x86_64.


Le noyau Linux x86_64 peut gérer un maximum de 4096 threads de processeur dans une seule image système. Cela signifie qu'avec l'hyper threading activé, le nombre maximum de cœurs de processeur est de 2048. Oui, il existe des ordinateurs avec plus de 2048 cœurs de processeur; mais ceux-ci fonctionnent comme des clusters où plusieurs noyaux Linux coopèrent, connectés avec une interconnexion à haut débit, généralement une structure Infiniband.

depuis le noyau 3.13 le plus récent, dans ~/arch/x86/Kconfig :

configuration 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.

Mise à jour :sur les noyaux plus récents, cela est spécifique à l'architecture - par exemple sur 4.15 x86_64 vous permet de définir NR_CPUS sur 8192 dans les bonnes circonstances alors que le bras 32 bits s'arrête à 32.


Linux
  1. Comment vérifier la version du noyau sous Linux

  2. Linux - Comment recharger correctement un module du noyau ?

  3. De combien de groupes Unix un utilisateur peut-il être membre ?

  4. Sous Linux, comment savoir combien de cœurs de la machine sont actifs ?

  5. Comment puis-je reprendre une tâche arrêtée sous Linux ?

Comment le noyau Linux gère les interruptions

Comment charger ou décharger un module du noyau Linux

Comment vérifier la version du noyau sous Linux

Comment gérer une panique du noyau Linux

Comment mettre à niveau le noyau sur Linux Desktop

Comment construire le noyau Linux à partir de zéro