标签: multithreading cpu cpu-usage
我正在运行具有200个线程的单个服务器进程,这些线程以下列方式自动分布在CPU上。
我能做些什么来暗示操作系统将它们分散到另一个节点的CPU上吗?节点1的16个CPU似乎被抛在了一边。
答案 0 :(得分:0)
严格来说,强制传播的方法是设置进程的线程关联。我并不是说这是最佳方案,或者它比以前的设置更好,但至少我设法让进程在所有可用内核中运行其线程。对于在可以访问不同内存位置的节点上运行线程,这可能会受到惩罚,但我感觉它会比只有16个内核空闲时更小。我将不得不衡量这一点,但至少我设法向前迈进了一步。
在设置进程关联以使用所有节点的所有核心之后,NUMA节点的用法:
更改相同设置后逻辑核心的使用情况: