简体   繁体   English

找出哪个模块集处理器相似性掩码

[英]Finding out which module set processor affinity mask

I am running into an issue where my 32-bit command-line application, when started from Windows Command Prompt or other means, is set to only use the first 32 CPU cores on a 64-core system. 我遇到一个问题,即从Windows命令提示符或其他方式启动时,我的32位命令行应用程序设置为仅使用64核系统上的前32个CPU核。 Looking at that process's CPU affinity mask in Task Manager, I can see that only the first 32 CPUs are checked, and the last 32 CPUs are unchecked. 在任务管理器中查看该进程的CPU关联掩码,我可以看到仅前32个CPU被选中,而后32个CPU被取消选中。

I made sure my code doesn't call SetProcessAffinityMask, but how can I see if any of the third party modules call this function? 我确保我的代码未调用SetProcessAffinityMask,但是如何查看是否有任何第三方模块调用此函数? And would doing things like calling SetThreadPriority change the CPU affinity mask? 并通过调用SetThreadPriority之类的方法来更改CPU关联掩码吗?

According to MSDN , 32-bit applications only get access to 32 processors. 根据MSDN ,32位应用程序只能访问32个处理器。 Even if you're not calling the affinity APIs yourself, it's likely these are being used behind the scenes at initialization. 即使您自己没有调用亲和力API,也有可能在初始化时在后台使用这些API。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM