![如何计算 OpenBSD 系统上的处理器数量?](https://linux22.com/image/530452/%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%20OpenBSD%20%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9A%84%E5%A4%84%E7%90%86%E5%99%A8%E6%95%B0%E9%87%8F%EF%BC%9F.png)
如何使用系统工具或 C 代码确定 OpenBSD 系统上的 CPU 数量?
我所知道的在其他 BSD 平台上计算 CPU 的技术——检查/var/run/dmesg.boot
某些字符串,似乎并不总是有效。
更多背景信息:不幸的是,我没有可用的 OpenBSD 系统。我正在尝试解决OpenBSD 特定测试失败用于 Perl 模块。
答案1
答案2
在 FreeBSD 上,
sysctl -n hw.ncpu
以及达尔文
sysctl -n hw.availcpu
所以也许它们很相似?我认为有一个系统调用,但我会先用命令行来研究一下。
答案3
互联网告诉我尝试一下
dmesg | grep -i CPU
或者
sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'
cpuinfo 可用吗?我知道你可以在 BSD 变体上使用它。
答案4
在 6.4 版中ncpuonline
添加,从 7.0 版开始sysctl(2)
状态:
硬件NCPU(硬件ncpu)
配置的CPU数量。
硬件发现(硬件找到)
找到的 CPU 数量。
硬件 NCPUONLINE(硬件ncpu在线)
在线CPU数量。
更多信息ncpuonline
请参阅修订版 (openbsd-cvs)。