23.7. 设置 smp_affinity 掩码


smp_affinity 值存储为代表系统中所有处理器的十六进制位掩码。每个位配置不同的 CPU。最重要的位是 CPU 0。掩码的默认值为 f,这意味着可在系统中的任何处理器上处理中断请求。将此值设置为 1 表示只有处理器 0 才能处理中断。

流程

  1. 二进制代码,对于处理中断的 CPU 使用值 1。例如,要设置 CPU 0 和 CPU 7 以处理中断,请使用 0000000010000001 作为二进制代码:

    Expand
    表 23.1. CPU 的二进制位

    CPU

    15

    14

    13

    12

    11

    10

    9

    8

    7

    6

    5

    4

    3

    2

    1

    0

    二进制

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    0

    0

    0

    0

    1

  2. 将二进制代码转换为十六进制代码:

    例如,使用 Python 转换二进制代码:

    >>> hex(int('0000000010000001', 2))
    
    '0x81'
    Copy to Clipboard Toggle word wrap

    在有 32 个处理器的系统上,您必须限制离散的 32 位组的 smp_affinity 值。例如,如果您只想 64 位处理器系统的第一个 32 个处理器来服务中断请求,请使用 0xffffffff,00000000

  3. 特定中断请求的中断关联性值存储在关联的 /proc/irq/irq_number/smp_affinity 文件中。在此文件中设置 smp_affinity mask:

    # echo mask > /proc/irq/irq_number/smp_affinity
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat