0

我正在使用具有 n 个处理器(/proc/cpuinfo 列出的 15 个)的 Linux 计算机 (Ubuntu)。我必须运行多个应用程序,并希望在每个处理器中运行一个。有没有办法为每个应用程序分配一个处理器,或者它是 Linux 自动执行的?

非常感谢

4

1 回答 1

2

您正在寻找的东西称为亲和力

Linux 应该已经自行处理了这个问题,但是有一些方法可以改变进程的亲和性 ( sched_setaffinity) 以及命令行工具taskset(1)

taskset 用于在给定 PID 的情况下设置或检索正在运行的进程的 CPU 亲和性,或启动具有给定 CPU 亲和性的新命令。

使用taskset您可以启动一个只能在您指定的核心上运行的进程。


我不完全确定它们是完成这项工作的最佳工具,但您可能还想调查一下cgroups. 我几乎可以肯定它们还允许在某些 CPU 上固定进程。

于 2013-08-30T13:38:52.547 回答