首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到运行进程的物理套接字ID /编号?

如何找到运行进程的物理套接字ID /编号?
EN

Stack Overflow用户
提问于 2012-06-27 02:18:03
回答 1查看 1.6K关注 0票数 2

我想知道是否有任何方法可以找到当前进程正在运行的实际物理处理器/套接字编号,或者提供逻辑处理器编号时对其的映射。

我有一个8插槽系统,总共有128 (0-127)个逻辑处理器。根据我在msdn中所读到的内容,它们将被分成两个处理器组,每个处理器组包含64个逻辑处理器。http://msdn.microsoft.com/en-us/library/dd405503

我尝试过从cpuid中查看cpuid和GetNumaProcessorNodeEx,APIC id帮助识别逻辑处理器ID,而从GetNumaProcessorNodeEx中,我获得了numa节点(我发现如果逻辑处理器的数量不超过64个,这将非常有用),如果逻辑处理器是超线程,是否也可以?

我正在尝试创建一个这样的工具。

处理器无插槽/核心id/HT

处理器0- 0/0/0

处理器1- 0/1/1

处理器2- 0/2/0

..。

处理器8- 1/0/0

处理器9- 1/1/1

..。

任何帮助或链接,以解决这一点将是伟大的。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-27 03:00:50

套接字/核心/线程层次结构位于APIC ID的位中。

N个低位是线程,M个低位是核心,其余的高位是套接字。

要查找N和M,您需要使用一些CPUID代码:

代码1给出了每个套接字的线程数(在EBX中的某个位置)。

代码4给出了每个插槽的核心数(以EAX为单位)。

例如,如果您有12个线程,每个套接字有6个核心,那么最低的位是线程ID,接下来的3位是核心,其余的是套接字。

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

https://stackoverflow.com/questions/11213561

复制
相关文章

相似问题

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