AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1691479
Accepted
eddyP23
eddyP23
Asked: 2021-12-07 00:58:52 +0800 CST2021-12-07 00:58:52 +0800 CST 2021-12-07 00:58:52 +0800 CST

Quantas CPUs físicas minha máquina possui?

  • 772

Estou um pouco confuso sobre o número de CPUs que meu servidor possui.

Ele está sendo executado no Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHzqual, de acordo com os documentos oficiais da Intel, contém 20 núcleos físicos.

O problema aqui é a saída do lscpucomando (algumas linhas filtradas):

CPU(s):                          80
On-line CPU(s) list:             0-79
Thread(s) per core:              2
Core(s) per socket:              20
Socket(s):                       2
NUMA node(s):                    2
Model name:                      Intel(R) Xeon(R) Gold 6242R CPU @ 3.10GHz
NUMA node0 CPU(s):               0-19,40-59
NUMA node1 CPU(s):               20-39,60-79

Pelo que entendi actual physical cores = CPU(s) / thread(s) per core, mas depois recebo 40, o que é o dobro do que eu esperava.

Alguém pode me explicar o que está acontecendo aqui e o que exatamente CPU(s), thread(s) per core, core(s) per socket, socet(s)significa?

cpu core
  • 6 6 respostas
  • 8889 Views

6 respostas

  • Voted
  1. Best Answer
    mtak
    2021-12-07T01:27:47+08:002021-12-07T01:27:47+08:00
    • Socketsrepresenta quantas CPUs físicas estão no sistema.

    • Cores per socketé quantos núcleos de CPU completos (incluindo lógica de carregamento/decodificação) existem por CPU física.

    • Threads per coreé quantos threads podem ser agendados em um único núcleo (HyperThreading). Simplificando, o hardware na CPU que é usado antes da execução real do código é duplicado, permitindo que a CPU tenha várias tarefas diferentes prontas para execução. Ele permite que a CPU busque/decodifique instruções antes que elas atinjam o núcleo de execução da CPU. Previne ou reduz a paralisação da tubulação .

    • CPUsignifica "entidades escalonáveis", isso é quantas filas de execução o sistema operacional terá, de modo que seriasockets x cores per socket x threads per core

    No seu caso, você tem 2 CPUs físicas, cada uma com 20 núcleos, cada uma podendo executar 2 threads (hyperthreading). Então 2x20x2 = 80, que é o número de CPUsexibido.

    • 63
  2. Josh Part
    2021-12-07T11:45:45+08:002021-12-07T11:45:45+08:00

    A confusão vem de um detalhe muito simples que pode não estar claro no lscpucomando info que está mostrando.

    A questão é: seu servidor realmente tem 2 Intel(R) Xeon(R) Gold 6242R CPUs, que é mencionado na Socket(s)linha.

    Como afirma a documentação da Intel, cada uma dessas CPUs contém 20 núcleos físicos (a Core(s) per socketlinha), o que dá um total de 40 núcleos físicos.

    Cada um desses núcleos é capaz de executar 2 threads "simultaneamente" (a Thread(s) per corelinha).

    Então: 2 Intel Xeon, 20 núcleos físicos cada um, 2 threads cada núcleo, dá um total de 80 "unidades que podem executar um processo" ou "CPUs"

    • 16
  3. LawrenceC
    2021-12-07T14:00:18+08:002021-12-07T14:00:18+08:00

    A idéia de uma CPU é um pouco abstrata agora, e isso começou com o hyperthreading (final dos anos 90) e depois a série Intel Core (início dos anos 00). Antes disso, você definitivamente tinha sistemas com várias CPUs, mas eram todas com várias CPUs físicas.

    Mas com hyperthreading e CPUs únicas de múltiplos núcleos, o número físico de CPUs é diferente do número lógico de CPUs que o código em execução nas CPUs vê.

    Socket(s):                       2
    

    Você tem 2 CPUs físicas como em "coisa com dissipador de calor conectado à sua placa-mãe"

    Core(s) per socket:              20
    

    Cada CPU física possui 20 núcleos, que parecem e funcionam principalmente como CPUs independentes para Linux. Os núcleos compartilham pelo menos o mesmo cache L3, provavelmente o cache L2, e provavelmente têm seu próprio cache L1 - portanto, não tão eficientes quanto os soquetes individuais com seu próprio L3/L2/L1, mas quase lá.

    Como esse é cada soquete, você tem 2 * 20 = 40.

    Thread(s) per core:              2
    

    Cada núcleo tem 2 threads SMT, que são implementados pela microarquitetura da sua CPU para basicamente se parecer principalmente com CPUs independentes para Linux

    Eles não serão tão rápidos quanto os núcleos independentes reais.

    Threads na microarquitetura tentam pegar estágios de pipeline atualmente não utilizados dos núcleos, mas podem ter que acabar esperando se estiverem ocupados - e as CPUs já tentam se manter muito ocupadas, então, novamente, 2 threads em 2 núcleos não são nem de longe equivalentes a 4 núcleos, mas é algo que pode fazer o código rodar um pouco mais rápido.

    Observe que o Spectre e vulnerabilidades semelhantes são muito mais possíveis em threads do que em núcleos ou soquetes porque os recursos principais são compartilhados.

    De qualquer forma, como é por núcleo e também por soquete, são 2 * 20 * 2, o que fornece:

    CPU(s):                          80
    
    • 8
  4. Tetsujin
    2021-12-07T01:16:27+08:002021-12-07T01:16:27+08:00

    CPU dupla… processadores x2, 20 núcleos por soquete… x2 = 40 núcleos = 80 com HT.
    Isso é provavelmente muito fácil de verificar simplesmente tirando a tampa/lado.

    • 5
  5. Celeste aka. 73chn0
    2021-12-07T02:55:07+08:002021-12-07T02:55:07+08:00

    Seu servidor está usando 2 "Processor-Chips" (nos 2 Sockets), que possuem 20 núcleos físicos cada.

    E cada núcleo pode processar 2 threads.

    É por isso que ele exibe 2 (processador-chips) * 20 (núcleos por peça) * 2 (threads que cada núcleo pode processar) = 80 CPUs

    Neste caso, CPU significa "entidade programável", também conhecido como. a quantidade de threads, que podem ser executados pela máquina.

    • 4
  6. MonkeyZeus
    2021-12-08T07:02:48+08:002021-12-08T07:02:48+08:00
    1. Uma placa-mãe pode ter vários soquetes
    2. Cada soquete pode ter um único processador físico
    3. Cada processador pode ter um ou mais núcleos
    4. Cada núcleo pode executar uma ou duas threads simultaneamente

    Você tem 2 soquetes preenchidos com um processador cada, 20 núcleos por processador e 2 threads por núcleo.

    2 x 20 x 2 = 80 CPUs


    Eu acho que 80 CPUs é um nome impróprio e simplesmente um subproduto da história, porque no passado existiam apenas processadores single-core/thread, então processador, CPU, núcleo e thread eram usados ​​​​de forma intercambiável.

    • 1

relate perguntas

  • Velocidade do processador limitada a 0,4 GHz

  • Por que a formatação ganhou 7 computadores para o Windows 10 dobrou sua pontuação no banco de cpu-z?

  • Core i7 executa muito mal? [fechado]

  • O virtualbox requer uma CPU para suportar VT-d para hospedar sistemas operacionais convidados de 64 bits?

  • LGA1151 dimensões físicas?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve