首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加强CPU套接字亲和性?

如何加强CPU套接字亲和性?
EN

Stack Overflow用户
提问于 2011-10-06 12:59:12
回答 2查看 2.1K关注 0票数 2

我知道有一些方法可以加强线程/进程亲和性,以将特定的线程/进程绑定到各种操作系统中的CPU/核心。我只是想知道是否有一种方法来加强CPU套接字亲和性。即强制将线程/进程绑定到可容纳多处理器芯片的CPU插座。

这个问题的出现是因为每个芯片上的多处理器每天都在增加。

EN

回答 2

Stack Overflow用户

发布于 2011-10-06 13:12:51

我知道的唯一方法是找出哪个线程ID映射到哪个套接字(或NUMA节点)。一旦您有了这些信息,就可以使用常用的线程绑定方法来强制执行它。

如果您使用的是Linux,那么可以使用NUMA库来找出哪个硬件线程属于哪个numactl.h节点。尽管NUMA节点并不总是与套接字一对一,但到目前为止,所有的post-Core 2 Xeons和所有Opteron系统都是如此。

在Windows上,您可以使用GetNumaNodeProcessorMask来确定节点上有哪些硬件线程。

在它们不是一对一映射的情况下(例如Core 2 Xeons,其中两个套接字都在同一NUMA节点上),从性能的角度来看,这可能无关紧要,除非您尝试对每个处理器上的共享缓存进行微观管理。

票数 1
EN

Stack Overflow用户

发布于 2011-10-06 13:31:58

如果我没理解错的话,您需要做的就是将进程或线程的亲和性设置为驻留在CPU上的一组核心。

根据您的操作系统,有多种方法可以推断此信息。例如,在linux中,您可以查看/proc/cpuinfo并查看哪些核心属于给定的处理器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7670436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档