如何从 Windows XP 的批处理文件中设置处理器关联?
Posted
技术标签:
【中文标题】如何从 Windows XP 的批处理文件中设置处理器关联?【英文标题】:How to set processor affinity from Batch File for Windows XP? 【发布时间】:2010-10-24 02:05:53 【问题描述】:我有一台双处理器机器,我想通过两个处理器上的批处理文件启动一个可执行文件。
例如: (1) 在处理器 1 上启动 Notepad.exe,然后 (2) 同时,处理器2上的Notepad.exe
目前,我在批处理文件中使用以下内容,因为我的可执行文件“难以”启动并且需要返回才能在启动时运行: echo.|DoStuff.exe
因此,我想启动它并让它在每个处理器上运行。
感谢您提供的任何反馈。
附:我不认为“开始”对我有用,因为我需要将返回字符发送到可执行文件,如上所示的 echo。
附言这是针对 Windows XP 解决方案的。谢谢。
【问题讨论】:
您可能需要重新考虑这一点。通常,CPU 调度程序会做出比您更好的决策。我们尝试了这个,实际上发现仅启动两个单独的程序后性能略有下降 【参考方案1】:启动 /affinity 1 notepad.exe
启动/affinity 2 notepad.exe
(Windows7 对启动命令有亲和力,但 XP 没有。但 PSexec 可以工作)
【讨论】:
不幸的是我不能使用start,因为我需要使用echo.|DoStuff.exe,所以返回语句被发送到可执行文件中。有没有办法设置亲和力并发送返回语句? 如果您启动了一个批处理文件,其中包含“echo.|DoStuff.exe”?这会传递 cmd 实例的亲和力吗? 为什么 0F 没有像预期的那样使用所有 4 个处理器?【参考方案2】:Microsoft 的 Sysinternal 的 psexec 的 -a 标志可以在 Windows XP 上设置处理器亲和性:
用法:psexec [\\computer[,computer2[,...] | @file][-u 用户 [-p psswd]][-n s][-l][-s|-e][-x][-i [会话]][-c [-f|-v]][-w 目录][-d][-][-a n,n,...] cmd [参数] -a 应用程序可以在其上运行的独立处理器 逗号,其中 1 是编号最小的 CPU。例如, 要在 CPU 2 和 CPU 4 上运行应用程序,请输入: “-a 2,4”例如:
psexec -a 2 cmd /c "echo.|DoStuff.exe"
【讨论】:
明天会试一试。非常感谢。【参考方案3】:This page 谈免费 您可以使用名为 XCPU 的工具 启动并设置亲和力。然而 里面的链接失效了。也许有点 谷歌搜索可以为您找到它。
还有一个类似的工具 here 调用先运行。
【讨论】:
仍然可以使用 archive.org 找到它,请参阅 web.archive.org/web/20071012053544/http://www.appliedvisual.com/… 在此处发布此内容,因为这是排名较高的 Google 搜索结果之一,因此可能对某些人仍然有用。以上是关于如何从 Windows XP 的批处理文件中设置处理器关联?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过双击Windows XP中的html文件等任何文件夹来运行php文件?
下载了富士通OEM版Windows XP Tablet PC Edition 2005 CHS,如何安装?
Prebuild 事件在 Windows 7 中有效,在 XP 中失败
从网上下载的正版Windows XP pro with sp3 VOL 微软官方(MSDN)简体中文版 + 正版密钥 系统如何从硬盘安