Central-Processing-Unit
最大 CPU 和超執行緒
超執行緒使邏輯核心加倍,但不會使 CPU 資源加倍。
Linux 以 % 為單位測量 CPU 使用率,為每個執行緒分配 100% 的點,因此對於啟動 HT 的四核 CPU 報告最多 800%。
無論如何,我知道在實際使用情況下,您不會達到 800%。
在我開始擔心我的伺服器之前,CPU 的合理最大值是多少?400%?600%?
您將達到 800%(在舍入誤差內),但這不是 100% 使用率的 8 倍。
關鍵是超執行緒不是單獨的處理器,它們使用大部分相同的資源,因此使用“溢出”到另一個執行緒。
想像一個單頭任務,消耗 100% 的邏輯核心。您會看到 100% 的使用率並且任務繼續進行,例如每秒 10 個石頭。
現在您開始第二個任務並在另一個執行緒上執行,相同的物理核心。現在您看到 200% 的使用率,兩個任務都在繼續,但不是每個 10 石/秒,假設每個 6 石/秒。
換句話說,工作進展比單執行緒快 20%,但每個執行緒的能力較差(因為它的資源較少);所以當所有執行緒都忙時,100% 的數字只是每核一個執行緒場景的 60%。