我如何计算OpenBSD系统上的处理器数量?

如何使用系统工具或C代码来确定OpenBSD系统上的CPU数量?

我知道在其他BSD平台上对CPU进行计数的技术 – 检查某些string的/var/run/dmesg.boot并不总是奏效。

更多的上下文:不幸的是,我没有一个可用的OpenBSD系统。 我正在尝试解决Perl模块的特定于OpenBSD的testing失败 。

在OpenBSD上你有:

 sysctl hw.ncpu 

要么

 sysctl hw.ncpufound 

如sysctl(3)中所述 ,ncpu是系统使用的CPU数量,ncpufound是系统find的CPU数量。

顺便说一下, devio.us在OpenBSD服务器上提供免费的shell帐户。

在FreeBSD上,它是

 sysctl -n hw.ncpu 

和达尔文

 sysctl -n hw.availcpu 

所以也许它是相似的? 有一个系统调用,我想,但是我会先用命令行来捅一下。

互联网告诉我试试这个

 dmesg | grep -i CPU 

要么

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

是cpuinfo可用? 我知道你可以在BSD的变种..