首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将逻辑处理器映射到物理处理器

将逻辑处理器映射到物理处理器
EN

Stack Overflow用户
提问于 2009-01-08 10:03:51
回答 3查看 3.4K关注 0票数 3

在双四核GetProcessAffinityMask (或taskman.exe中的"Set关联“对话框)上,将报告八个逻辑处理器。如何找出哪个逻辑处理器在哪个物理处理器上?特别是:哪个逻辑处理器在同一个物理处理器上?

编辑:--如果无法以编程方式这样做,是否有人知道正常映射是什么?前四个是在第一个处理器上,第二个是在第二个处理器上,还是在第一个处理器上是奇数,第二个是偶数?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-01-08 10:17:00

您可以使用Win32_Processor WMI类查询核心数量、逻辑处理器数量、体系结构、缓存内存和系统上CPU的其他信息。

要查询有关系统中逻辑处理器之间关系的信息,可以使用GetLogicalProcessorInformation API函数。

票数 7
EN

Stack Overflow用户

发布于 2011-09-06 18:08:11

如果您不想自己编写代码,Sys内务的方便的coreinfo实用程序最接近于回答您的问题。按照Mehrdad的建议,它实现了GetLogicalProcessorInformation。对于Xeon E5640 (四核线程,8个线程),您可以从coreinfo获得:

代码语言:javascript
复制
c:\App\SysInternals>Coreinfo.exe -c

Coreinfo v3.0 - Dump information on system CPU and memory topology
Copyright (C) 2008-2011 Mark Russinovich
Sysinternals - www.sysinternals.com

Logical to Physical Processor Map:
**------  Physical Processor 0 (Hyperthreaded)
--**----  Physical Processor 1 (Hyperthreaded)
----**--  Physical Processor 2 (Hyperthreaded)
------**  Physical Processor 3 (Hyperthreaded)

对于8个超级线程来说,有8个*,每个内核有两个,就像这个芯片所期望的那样。但是,尚不清楚的是,*的排列与Windows显示的逻辑处理器列表是如何匹配的。例如,任务管理器为我提供了一个对话框,用于为任何进程分配处理器关联,标记为CPU 0到CPU 7。假设您可以获取coreinfo的输出并将逻辑处理器从左到右编号,这是公平的(但不是必要的)。因此,"CPU 5“将是物理处理器2上运行的第二个超级线程。

票数 2
EN

Stack Overflow用户

发布于 2011-10-06 06:59:12

编号是按顺序进行的:首先是所有物理核,然后是逻辑核1。

1

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

https://stackoverflow.com/questions/423761

复制
相关文章

相似问题

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