Jacob Asked: 2013-01-22 09:35:19 +0800 CST2013-01-22 09:35:19 +0800 CST 2013-01-22 09:35:19 +0800 CST Linux 负载平均和超线程 772 我对 Linux 平均负载的粗略理解是,对于每个整数,CPU 核心一直在工作。例如,1 表示在 4 核系统上 1 个核正在满负荷工作。超线程如何影响这一点?它甚至被考虑在平均负载中吗? linux 1 个回答 Voted Best Answer ewwhite 2013-01-22T09:38:58+08:002013-01-22T09:38:58+08:00 我通常认为超线程内核占实际内核的 20%-30%,具体取决于您的应用程序利用多线程的效率。它们被考虑在平均负载和平均负载阈值中。 这是启用超线程之前和之后的双路 Intel X5570 Nehalem 系统示例。操作系统为 CentOS 5.8。实际的平均系统运行队列/平均负载没有显着变化(该应用程序几乎是单线程的),但负载阈值发生了变化。 也就是说,有很多次我禁用超线程...对于我的低延迟和确定性应用程序,我希望更好地控制应用程序资源的调度位置。在这些情况下,使用 HyperThread 核心会受到惩罚。此外,我有一种特殊情况,应用程序在具有超线程的 4 插槽 8 核 CPU 上运行。它的内核太多了……所以我只是禁用了 HT 以将逻辑 CPU 从 64 个减少到 32 个。
我通常认为超线程内核占实际内核的 20%-30%,具体取决于您的应用程序利用多线程的效率。它们被考虑在平均负载和平均负载阈值中。
这是启用超线程之前和之后的双路 Intel X5570 Nehalem 系统示例。操作系统为 CentOS 5.8。实际的平均系统运行队列/平均负载没有显着变化(该应用程序几乎是单线程的),但负载阈值发生了变化。
也就是说,有很多次我禁用超线程...对于我的低延迟和确定性应用程序,我希望更好地控制应用程序资源的调度位置。在这些情况下,使用 HyperThread 核心会受到惩罚。此外,我有一种特殊情况,应用程序在具有超线程的 4 插槽 8 核 CPU 上运行。它的内核太多了……所以我只是禁用了 HT 以将逻辑 CPU 从 64 个减少到 32 个。