是否可以在不观察启动顺序的情况下查明给定计算机的 BSD 内核中是否启用了超线程?
答案1
似乎没有办法使用 sysctls 来确定系统是否启用了超线程。 hw.ncpu
只会通知内核有多少个可用的 CPU,其中包括核心、超线程和单个处理器。
此外,约翰·韦斯利王子 (Prince John Wesley) 提供的链接是 2006 年的,现在似乎不再相关。
尽管我讨厌 grepping dmesg
,但您可以执行以下操作(在 FreeBSD 8.x 上):
dmesg | grep SMT
超线程系统应该返回结果。不是超线程系统不应该。
答案2
您可以通过查看 sysctl 的输出来确定这一点hw.ncpu
。如果它是 1,则没有超线程。