Como faço para contar o número de processadores em um sistema OpenBSD?

4

Como posso determinar o número de CPUs em um sistema OpenBSD, usando ferramentas do sistema ou código C?

A técnica que conheço para contar CPUs em outras plataformas BSD - verificando /var/run/dmesg.boot para certas strings, nem sempre parece funcionar.

Mais contexto: Infelizmente, não tenho um sistema OpenBSD disponível para brincar. Eu estou tentando resolver as falhas de teste específicas do OpenBSD para um módulo Perl.

    
por mob 18.11.2010 / 00:25

3 respostas

7

No OpenBSD você tem:

sysctl hw.ncpu

ou

sysctl hw.ncpufound

Como explicado em sysctl (3) , o ncpu é o O número de CPUs usadas pelo sistema e ncpufound é o número de CPUs encontradas pelo sistema.

A propósito, o devio.us fornece uma conta de shell gratuita nos servidores do OpenBSD.

    
por 18.11.2010 / 14:16
4

No FreeBSD, é

sysctl -n hw.ncpu

e em Darwin

sysctl -n hw.availcpu

Então, talvez seja semelhante? Existe uma chamada de sistema, eu acho, mas eu fuçaria com a linha de comando primeiro.

    
por 18.11.2010 / 00:31
2

A internet me diz para tentar isso

dmesg | grep -i CPU

ou

sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'

cpuinfo está disponível? Eu sei que você pode tê-lo em variantes BSD ..

    
por 18.11.2010 / 00:29