【问题标题】:setting cpu affinity of a process from the start on linux在linux上从一开始就设置进程的cpu亲和力
【发布时间】:2013-03-05 06:25:58
【问题描述】:

我想在linux上设置一个进程启动时的cpu亲和力。

有sched_setaffinity、taskset等方法,但需要进程的processid。它们可能会导致潜在的迁移,就像一个进程在一个核心上启动但在使用 sched_setaffinity/taskset 之后,它们被迁移到另一个核心。

我想做的是从头开始在特定核心上启动一个新进程。

【问题讨论】:

  • 你为什么要这样做?通常,内核比您选择内核来运行某些任务要好...
  • 我正在开发一个检查点模块,该模块检查点进程。我想保存这个进程的 cpu-affinity 信息,并从最后一个检查点以相同的亲和力开始这个进程。

标签: linux linux-kernel operating-system taskaffinity


【解决方案1】:

taskset既可用于设置正在运行的进程的亲和性,也可用于启动具有一定亲和性的进程,参见

概要

taskset [options] mask command [arg]...
taskset [options] -p [mask] pid

以下命令将在 CPU 1 和 2(或 0 和 1)中启动 Google Chrome 浏览器。掩码为 0×00000003,命令为“google-chrome”。

taskset 0×00000003 google-chrome

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    相关资源
    最近更新 更多