如何在进程启动后自动调整其亲和性?

如何在进程启动后自动调整其亲和性?

我想在启动时打开一些程序而不影响性能,并且我想在启动文件夹中创建它们的快捷方式。

如果我可以在位置字符串末尾添加修饰符来实现这一点,那么效果会很好。

答案1

我快速进行了谷歌搜索,然后下面的文章就出现在最顶部。启动具有特定亲和力的应用程序。另外,如果你检查一下命令行“开始“它的作用和它的开关将向您展示如何以正常、低等方式启动。您可以在启动时设置一个批处理文件,其中特定文件以低优先级运行,并将其设置为使用 CPU 核心 1 或 2 或其他任何核心。

答案2

几年前我发现了一个小工具,名字叫优先权。它基本上是一个“优先级保护程序”。也就是说,您可以指定应用程序的优先级,然后告诉 Prio 在应用程序启动时自动恢复该优先级。

它非常好——我将它与 Mathematica 结合使用,这样MathKernel启动时就不会意外占用我电脑上的每一个处理线程。

它的好处在于,它能记住给定进程的优先级,如果你启动多个实例(就像 Mathematica 在并行运行多个内核时所做的那样),它们都会以相同的优先级启动。

因此,如果您在 Visual Studio 中进行开发工作并将devenv的优先级设置为低,则启动的每个 VS 实例都将具有该优先级。

答案3

对于其他正在寻找答案却找不到答案的人来说,我找到的解决方案是使用一个名为的应用程序温亚足联(或 AffinityChanger)。这是一个部分 GUI、部分命令行应用程序,允许您为某些可执行文件指定配置文件,并将轮询它们的进程列表。如果找到匹配的进程,它将根据加载的配置文件中的设置更改这些进程的亲和性。

这里有一些文档:http://affinitychanger.sourceforge.net/

为了我的目的,我创建了一个如下所示的个人资料:

TestMode = 0
TimeInterval = 1
*\convert.exe := PAIR0+PAIR1

此配置文件将任何 convert.exe 进程设置为使用前两个 CPU 核心对 (CPU0、CPU1、CPU2 和 CPU3),每秒轮询一次。这TestMode是一个切换开关,可让您查看配置文件是否正常工作,而无需实际设置亲和性。

希望有人觉得这有用!

相关内容