创建一个进程,指定要在其上运行的 NUMA 节点

Create a process specifying the NUMA node to run on

本文关键字:运行 节点 NUMA 一个 进程 创建      更新时间:2023-10-16

如何在 Windows 中C++的特定 NUMA 节点上启动进程?

例如,命令start /NODE X为节点 X 执行此操作。但是如何以编程方式实现相同的目标呢?

可以将STARTUPINFOEX传递给CreateProcess()(启用EXTENDED_STARTUPINFO_PRESENT标志),其中STARTUPINFOEX包含指向PROC_THREAD_ATTRIBUTE_LIST结构的指针,该结构在其列表中具有PROC_THREAD_ATTRIBUTE_PREFERRED_NODE项:

lpValue 参数是指向新进程的首选 NUMA 节点的节点号的指针。

有关构建属性列表的详细信息,请参阅InitializeProcThreadAttributeList()UpdateProcThreadAttribute()

Raymond Chen在他的博客上讨论了PROC_THREAD_ATTRIBUTE_LIST

以编程方式控制 Win32 中的新进程继承哪些句柄

创建具有属性的流程的另一种方法,也许更糟,也许更好