有什么我可以做的更好地利用CPU核心?

时间:2016-10-07 23:17:44

标签: multithreading cpu cpu-usage

我正在运行具有200个线程的单个服务器进程,这些线程以下列方式自动分布在CPU上。

CPU Utilization

enter image description here enter image description here

我能做些什么来暗示操作系统将它们分散到另一个节点的CPU上吗?节点1的16个CPU似乎被抛在了一边。

1 个答案:

答案 0 :(得分:0)

严格来说,强制传播的方法是设置进程的线程关联。我并不是说这是最佳方案,或者它比以前的设置更好,但至少我设法让进程在所有可用内核中运行其线程。对于在可以访问不同内存位置的节点上运行线程,这可能会受到惩罚,但我感觉它会比只有16个内核空闲时更小。我将不得不衡量这一点,但至少我设法向前迈进了一步。

在设置进程关联以使用所有节点的所有核心之后,NUMA节点的用法:

Usage by NUMA nodes

更改相同设置后逻辑核心的使用情况:

Usage by logical cores

相关问题