我有一个运行在我的服务器上的程序,我想运行同一个程序的多个实例(它只能运行在单个核心上的一个应用程序..),我想知道是否可以在运行时将它们分配给核心? 使用批处理脚本或东西? 我正在运行Windows Server 2012。
等一下…你问了一个问题,你接受了“不这样做”的答案。
没有人真的回答你的问题。
请不要误导我。 对任何其他回答者都没有冒犯性,我也同意他们的观点,即如果你首先要问这个问题,那么你可能没有想到这个问题。但是,你问了一个具体的问题不过。
所以这是答案。
C:\Windows\system32>start /affinity 1 notepad.exe
这将启动Notepad.exe进程的一个实例设置为只有第一个CPU的亲和力。 如果您愿意,可以混合使用CPU(核心),但是您询问如何在单个CPU上启动一个进程。
您可以通过在任务pipe理器或进程资源pipe理器中检查生成进程的关联性来validation该命令是否工作。
在绝大多数情况下,尝试手动pipe理进程间绑定,实际上会导致整体性能下降,而不是让内核的CPU调度程序进行sorting。
所以,除非遇到一些可以直接追溯到CPU调度的实际性能问题,否则这不是您需要考虑的事情。