如何确定 FreeBSD 上是否启用了超线程

如何确定 FreeBSD 上是否启用了超线程

是否可以在不观察启动顺序的情况下查明给定计算机的 BSD 内核中是否启用了超线程?

答案1

似乎没有办法使用 sysctls 来确定系统是否启用了超线程。 hw.ncpu只会通知内核有多少个可用的 CPU,其中包括核心、超线程和单个处理器。

此外,约翰·韦斯利王子 (Prince John Wesley) 提供的链接是 2006 年的,现在似乎不再相关。

尽管我讨厌 grepping dmesg,但您可以执行以下操作(在 FreeBSD 8.x 上):

dmesg | grep SMT

超线程系统应该返回结果。不是超线程系统不应该。

答案2

您可以通过查看 sysctl 的输出来确定这一点hw.ncpu。如果它是 1,则没有超线程。

相关内容