我对 OS X 还不太熟悉,在 Windows 上我能够为正在运行的程序分配核心。
我已经进行了一些搜索,但似乎没有找到任何相关信息。
我将不胜感激;无论是这里的说明,还是有关我的问题的文章链接。
答案1
用户级别没有处理器亲和性工具。请查看此问题。https://apple.stackexchange.com/questions/166870/processor-affinity-on-mac
请允许我稍微离题一下。也许有一种解决方法可以满足您的性能要求。
1) 这只是猜测。假设您想将一个或多个核心分配给视频处理应用程序,因为您希望在继续使用计算机执行其他任务的同时进行不间断(最低限度)处理。使用 bash 实用程序“nice”,您可以运行优先级高于其他应用程序的应用程序。现在,无需我深入研究操作系统使用的多核调度算法,它可能会提高应用程序的性能,也可能不会为您提供所需的处理平衡。它仍将共享所有 n 个核心,但它将比其他进程获得更多时间。
2) 使用 API 创建使用 Affinity API 的“shell”应用。您需要做的就是分叉一个对您的应用的调用,因为根据此 API 文档,shell 应用的所有分叉子应用都将共享其 affinity 命名空间,因此如果您使用的是处理器 1,那么从 shell 调用的任何应用都将在处理器 1 上运行。
1)很好——https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/nice.1.html
2)Affinity API -https://developer.apple.com/library/mac/releasenotes/Performance/RN-AffinityAPI/index.html#//apple_ref/doc/uid/TP40006635