C++ 如何找到进程正在运行的物理套接字ID/编号?
我想知道是否有任何方法可以找到当前进程正在运行的实际物理处理器/套接字号,或者在提供逻辑处理器号的情况下找到该物理处理器/套接字号的映射 我有一个8插槽系统,总共有128(0-127)个逻辑处理器。 正如我在msdn中所读到的,它们将被分为两个处理器组,每个处理器组由64个逻辑处理器组成。 我试过查看cpuid和GetNumaProcessorNodex 从cpuid中,APIC id帮助识别逻辑处理器id,从GetNumaProcessorNodex中,我得到numa节点(如果逻辑处理器的数量不超过64个,我发现这很有用) 如果逻辑处理器是超线程,是否也有可能 我正在尝试创建一个这样的工具 处理器编号-插槽/核心id/HT 处理器0-0/0/0 处理器1-0/1/1 处理器2-0/2/0 处理器8-1/0/0 处理器9-1/1/1 任何帮助或链接,以找出这将是伟大的C++ 如何找到进程正在运行的物理套接字ID/编号?,c++,c,windows,C++,C,Windows,我想知道是否有任何方法可以找到当前进程正在运行的实际物理处理器/套接字号,或者在提供逻辑处理器号的情况下找到该物理处理器/套接字号的映射 我有一个8插槽系统,总共有128(0-127)个逻辑处理器。 正如我在msdn中所读到的,它们将被分为两个处理器组,每个处理器组由64个逻辑处理器组成。 我试过查看cpuid和GetNumaProcessorNodex 从cpuid中,APIC id帮助识别逻辑处理器id,从GetNumaProcessorNodex中,我得到numa节点(如果逻辑处理器的数
谢谢套接字/核心/线程层次结构位于APIC ID的位中。
N个低位是线程,M个低位是核心,其余高位是套接字。
要查找N和M,需要使用一些CPUID代码:
代码1给出每个套接字的线程数(在EBX中的某个位置)。
代码4给出了每个插槽的内核数(在EAX中)。
例如,如果每个套接字有12个线程和6个内核,那么最低的一位是线程ID,接下来的3位是内核,其余的是套接字。此网站不是链接收割机。@Neal我不仅仅是试图收割机链接。我只是在寻求帮助,即使是在重新指导我寻找其他选择的方式。我决不希望有人回答我。即使是指导我找到解决办法也会很有帮助。我可以知道投票被否决的原因吗?我可以重新措辞/改进这个问题。这个网站不会为你提供链接。这根本不是建设性的。如果其他人需要一些文档帮助,我可以在这里提供一个链接。