C# 在Windows 2012上更改活动进程的处理器组
由于在Windows 2012服务器上突然运行超过64个处理器,我们不得不与多个处理器组竞争C# 在Windows 2012上更改活动进程的处理器组,c#,c++,windows,visual-c++,C#,C++,Windows,Visual C++,由于在Windows 2012服务器上突然运行超过64个处理器,我们不得不与多个处理器组竞争 我们的设置,启动进程和指定目标处理器组将是困难的,因此我们的目标是改变C或C++中的许多进程的处理器组。 如果我们可以获得进程句柄列表,那么需要做什么: 获取每个进程运行的处理器组 更新这些进程的某一组处理器组值,以更改它们运行的组 进程在创建时由Windows分配给组。这似乎不能直接改变 要获取进程所属处理器组的列表(可以有多个),请调用 要更新进程的组,必须使用更改进程的每个线程的组。当它刚刚开始并
我们的设置,启动进程和指定目标处理器组将是困难的,因此我们的目标是改变C或C++中的许多进程的处理器组。 如果我们可以获得进程句柄列表,那么需要做什么:
进程在创建时由Windows分配给组。这似乎不能直接改变 要获取进程所属处理器组的列表(可以有多个),请调用
要更新进程的组,必须使用更改进程的每个线程的组。当它刚刚开始并且只有一个线程时,这显然是最简单的。我想引用一下MSDN论坛的相关答案: 理论上,您可以创建一个使用 KeSetSystemGroupAffinityThread以更改关联。我用英语说 理论上,因为这是一个新的调用和有限的文档 可能不行。当然,一旦你这么做了,问题是 应用程序将工作,我想你已经阅读 关于多个组和应用程序的警告 为了利用它们而写的
另请看:您是否阅读了Microsoft文档?是的,我阅读了。这没有多大帮助。