Linux-Kernel

通過 BIOS 或核心關閉超執行緒?

  • October 15, 2016

這些禁用的超執行緒方案之間是否存在性能差異?哪個是最好的,為什麼?

  • 在 BIOS 中禁用 HT
  • 使用noht核心參數

高度優化的並行應用程序在啟用 HT 的情況下執行速度較慢。

https://www.percona.com/blog/2015/01/15/hyper-threading-double-cpu-throughput/

我們的應用程序在 4 核上的執行速度比 4 核 + 4 HT 快 13%。

硬體:

  • 板子:Supermicro X9SPU-F
  • CPU: Intel(R) Xeon(R) CPU E3-1275 V2

嗯,第一個明顯的區別是它noht在現代 Linux 系統上實際上並沒有做任何事情。此核心引導選項早已過時,已被替換為maxcpus=.

設置maxcpus=m,其中m是物理(非 HT)核心的數量,現在完成了同樣的事情。

也可以在系統執行時通過 sysfs 啟用或禁用單個 CPU 核心/超執行緒。

有了這個…

在 BIOS 中禁用超執行緒或在作業系統中禁用它在性能上應該沒有差異。

唯一真正的區別是,如果您禁用作業系統中的核心/執行緒,那麼您可以稍後再次重新啟用它們而無需重新啟動。如果您執行不同的計算作業,您可能想要這樣做,其中一些受益於超執行緒,而另一些則沒有。

引用自:https://serverfault.com/questions/806770