Linux

CPU之間的執行緒分佈?

  • March 25, 2019

lscpu給出:

Thread(s) per core:  2
Core(s) per socket:  32

當執行密集的 32 執行緒程序時,為什麼htop在 #1-32 上顯示幾乎 100% 的 CPU 活動,但在 #33-64 上幾乎沒有活動?為什麼程序的 32 個執行緒在 CPU #1-64 之間沒有均勻分佈?

htop

在 Linux 中有一個調度程序。一些系統會將工作推送到更快/更冷/更高效的核心,但預設行為是有序堆棧。您正在執行的軟體需要利用多個核心才能獲得任何好處,因此您的工作負載可能只能通過您選擇的軟體(或配置)分成 32 個執行緒。

引用自:https://unix.stackexchange.com/questions/495555