我使用的是具有n个处理器的Linux计算机(Ubuntu)(由/ proc / cpuinfo列出的15个)。我必须运行几个应用程序,并希望在每个处理器中运行一个。有没有办法为每个应用程序分配处理器,还是Linux自动执行的操作?
非常感谢
答案 0 :(得分:2)
您要找的是affinity。
Linux应该已经自己处理了这个问题,但是有一些方法可以改变进程(sched_setaffinity
)和命令行工具taskset(1)
的亲和力。
taskset用于设置或检索a的CPU亲和性 运行进程给定其PID或用a启动一个新的COMMAND 给定CPU亲和力。
使用taskset
您可以启动一个只有在您指定的核心上运行的流程。
我不完全确定它们是这项工作的最佳工具,但您可能还想调查cgroups
。我几乎可以肯定它们也允许在某些CPU上固定进程。