Questão Quantos processadores podem suportar GNU / Linux?


Quantos processadores podem suportar GNU / Linux?
e quanto de memória pode suportar o GNU / Linux?
e se você puder me fornecer a referência


4


origem


Linha de base impressionante: htop.sourceforge.net/128.png ;-) - mbq


Respostas:


Gnu é userland então não tem relação com o número de CPUs. Os limites de CPU e memória dependem do kernel e da arquitetura.

Eu estou supondo que você está perguntando sobre a arquitetura x86 em execução no modo de 64 bits.

O número máximo de CPUs (mais precisamente núcleos ((ainda mais precisamente, encadeamentos de hardware nos casos de Chip Multi-Threading / HyperThreading)) suportados pelo kernel do Linux é um conjunto de parâmetros no tempo de compilação. Valores comuns são 8 (padrão smp), 32 para hardware smp maior. A configuração máxima é de 512, embora você tenha dificuldades em descobrir o hardware x86 real com esse número de CPUs.

Você pode obter o valor definido para o seu kernel com a aparência do NR_CPUS valor relatado no /boot/config-$(uname -r) Arquivo.

O máximo (experimental) é 4096 [Edit: possivelmente 8192 desde um patch de 2013], mas o AFAIK é usado apenas para fins de teste de código.

Sobre a memória, o kernel do Linux pode suportar cerca de 64 TB de RAM e cada processo cerca de 128 TB de memória virtual. Aqui também, esses limites são grandes o suficiente para não serem acessados ​​pelo hardware existente.


6



Você pode verificar esse valor usando o seguinte comando no terminal: grep NR_CPUS /boot/config-`uname -r`. Em um sidenote, veja também este quadrinho xkcd sobre esse assunto. - agtoever
@agtoever Asteblief! Resposta atualizada. - jlliagre
Dankjewel! E +1. - agtoever


Tanto quanto o dinheiro pode comprar: veja top500 e particularmente 500 principais pelo sistema operacional ou, se você precisar, mesmo que um piechart.


3



Eu acho que a questão era sobre em uma única máquina. As máquinas top500 são clusters e, como tal, muitos computadores individuais são conectados por meio de uma conexão rápida de rede (20 GB / s não é incomum). - KeithB
Alguns dos clusters são "acoplados de perto", o que significa que a ethernet faz parte do barramento do sistema. Existem muitas caixas, mas todas elas são uma "máquina". Outros, claro, são fracamente acoplados. - dmckee
@dmckee: Isso está saindo um pouco do assunto, mas você está certo. A maioria dos clusters high-end não usa ethernet, mas infiniband. Mas há algo que eu não sabia que havia sido trazido para o Linux, que é uma imagem de sistema único (por exemplo, openssi.org/cgi-bin/view?page=openssi.html). Isso significa que um grupo de máquinas parece estar executando o mesmo kernel, e os processos são migrados sem problemas de máquina para máquina. Se você fizer um ls, mostra os processos para todas as máquinas. As máquinas top500 que usei não fizeram isso, mas tenho certeza que algumas fazem. - KeithB
@ Keith eu estou desatualizado, mas Beowolf fez isso de volta no dia. E isto ethernet usado. Então me chame assim século 20. - dmckee


Eu acho que você precisa ser mais específico para sua pergunta. Que distribuição? Algumas dessas respostas dependerão do kernel que você usa. Se você quiser números específicos, você pode combinar isso com uma distribuição específica.

O número de CPUs pode ter duas respostas - qual é o número máximo de CPUs que o SO pode usar, ponto final. E o que pode usar de forma eficiente. Às vezes, isso pode ser muito diferente.

Quanto à memória, você terá limitações do kernel, mas também de hardware. Certas placas-mãe / chipsets terão limites práticos, seja por causa do endereçamento, seja por causa do número limitado de slots de RAM.


2





Eu não sei os detalhes, mas em geral você atingirá os limites de hardware e / ou monetário antes de atingir os limites do sistema operacional. Basicamente, se você tem que perguntar mais do que você pode usar.


1