Zar*_*reh 8 windows shortcuts affinity command-line-arguments
我有一个可执行文件foo.exe,我需要在多处理器设置上同时运行 6 次,其中前 3 个实例将分配给组 0 中的核心,接下来的 3 个实例将分配给组 1 中的核心。
foo.exe我的桌面上有 6 个程序快捷方式。每个快捷方式都为foo.exe程序提供了一组不同的参数来运行。
我只需单击快捷方式即可运行程序的 6 个实例foo.exe。它们都启动了,但是然后我必须进入任务管理器并通过设置它们的组关联来确保将 3 个分配给组 0 中的 CPU,将 3 个分配给 CPU 的组 1。
有没有办法可以修改桌面上的快捷方式,以确保其中 3 个foo.exe程序使用 Group 0 而其中 3 个程序使用 Group 1?
您可以使用该命令使用/affinity标志start来指定进程应使用的核心。
start /affinity n foo.exe -arguments
因此,您的快捷方式如下所示:
c:\windows\system32\cmd.exe /C start /affinity n foo.exe -arguments 其中 n 是 CPU 核心数 +1。
因此,要在 Core 0 上运行,它将是:
c:\windows\system32\cmd.exe /C start /affinity 1 foo.exe -arguments.
假设一个 CPU 有 4 个内核。要指定要使用的核心:
将内核可视化为一个数组,数组的长度等于内核数。核心将按从右到左的降序排列:
[CPU3, CPU2, CPU1, CPU0]
现在,将您希望进程使用的内核替换为 1,将不希望使用的内核替换为 0。假设我希望我的进程使用内核 3 和 1,我的数组将如下所示:
[0,1,0,1]
将数组元素“弹出”为字符串。现在它将表示为 0101.
假设字符串是二进制的并将其转换为十六进制。现在它会是0x5
现在使用相同的命令,start /affinity n foo.exe -arguments但现在n将是0x5,给出start /affinity 0x5 foo.exe -arguments
0x在命令中添加前缀以显示它的十六进制。阅读start /?指定它是十六进制。| 归档时间: |
|
| 查看次数: |
5738 次 |
| 最近记录: |