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 / unix / Perguntas / 427705
Accepted
ALZ
ALZ
Asked: 2018-03-03 07:16:24 +0800 CST2018-03-03 07:16:24 +0800 CST 2018-03-03 07:16:24 +0800 CST

Por que `nproc` mostra menos que `nproc --all`?

  • 772

Aqui está a saída de nprocvs nproc --alle outro comando encontrado na internet. Eu ainda não consigo entender o porquê. É uma VM QEMU\KVM com CentOS 6.5 rodando sob outro CentOS 6.5.

Abaixo estão as saídas de alguns outros comandos:

[root@h1-nms ~]# nproc
1
[root@h1-nms ~]# nproc --all
3
[root@h1-nms ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                3
On-line CPU(s) list:   0-2
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             3
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 13
Stepping:              3
CPU MHz:               2194.710
BogoMIPS:              4389.42
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0-2
[root@h1-nms ~]# getconf _NPROCESSORS_ONLN
3
[root@h1-nms ~]# cat /proc/$$/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            10485760             unlimited            bytes
Max core file size        unlimited            unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             32000                32000                processes
Max open files            64000                64000                files
Max locked memory         65536000             65536000             bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       191509               191509               signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us
[root@h1-nms ~]# grep "" /sys/devices/system/cpu/cpu*/online
/sys/devices/system/cpu/cpu1/online:1
/sys/devices/system/cpu/cpu2/online:1
[root@h1-nms ~]# uname -a
Linux h1-nms 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@h1-nms ~]# cat /etc/*-release
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
CentOS release 6.5 (Final)
[root@h1-nms ~]#
centos cpu
  • 2 2 respostas
  • 3678 Views

2 respostas

  • Voted
  1. Best Answer
    Stephen Kitt
    2018-03-03T07:30:39+08:002018-03-03T07:30:39+08:00

    Conforme indicado na resposta de Kusalananda , distingue entre o número de CPUs disponíveis para o processo atual e o número total de CPUs.nproc

    Em sistemas Linux, as CPUs disponíveis para o processo atual, quando o OpenMP não está envolvido, são determinadas pela máscara de afinidade do processo. Para ver isso, execute taskset:

    taskset -p $$
    

    ou schedtool:

    schedtool $$
    

    ( tasksetfaz parte do util-linuxpacote e deve ser instalado por padrão; schedtoolé um pacote próprio e pode precisar ser instalado se você quiser usá-lo.)

    No seu caso, isso deve mostrar que seu shell está limitado a um único processador, e é por isso que as nprocsaídas 1.

    • 5
  2. Kusalananda
    2018-03-03T07:27:21+08:002018-03-03T07:27:21+08:00

    Do início do nprocmanual:

    Imprima o número de unidades de processamento disponíveis para o processo atual, que pode ser menor que o número de processadores online.

    então

    --all

    imprimir o número de processadores instalados

    A documentação info do GNU diz um pouco mais:

    Imprima o número de unidades de processamento disponíveis para o processo atual, que pode ser menor que o número de processadores online. Se essas informações não estiverem acessíveis, imprima o número de processadores instalados. Se as variáveis ​​de ambiente OMP_NUM_THREADSou OMP_THREAD_LIMITforem definidas, elas determinarão o valor mínimo e máximo retornado, respectivamente. O resultado é garantido ser maior que zero.

    e

    --all

    Imprima o número de processadores instalados no sistema, que pode ser maior que o número online ou disponível para o processo atual. As variáveis ​​de ambiente OMP_NUM_THREADSou OMP_THREAD_LIMITnão são respeitadas neste caso.

    • 4

relate perguntas

  • comando systemctl não funciona no RHEL 6

  • Por que meu switch não está obtendo um endereço do pool especificado

  • Por que contagem de CPU diferente de nproc e nproc --all no contêiner OpenVZ?

  • Criando menus personalizados na guia do menu Aplicativos no CentOS7 GNOME

  • Roteador estranho funciona com centos 6 [fechado]

Sidebar

Stats

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

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

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