【问题标题】:smp affinity setting in linuxlinux中的smp亲和力设置
【发布时间】:2015-01-15 12:21:33
【问题描述】:

我想对我的虚拟机系统上的中断 (irq 75) 进行负载平衡。它有 64 位 redhat 5.8,内核 2.6.18。虚拟机中有 8 个 CPU。

当我跑步时:

cat /proc/interrupts
 75:       9189   0   0   0   0   0   0   0   IO-APIC-level   eth0

我看到 IRQ 75 仅用于 CPU0。然后我更改了 irq 75 的 smp_affinity。

echo ff > /proc/irq/75/smp_affinity
cat /proc/irq/75/smp_affinity
00000000,00000000,00000000,00000000,00000000,00000000,00000000,000000ff

但我再次看到 irq 75 的中断只使用 CPU0。

 75:     157228   0   0   0   0   0   0   0   IO-APIC-level  eth0

CPU 之间没有 irq 平衡。我想将所有中断(irq 75)分发到所有 CPU,我做错了吗?

【问题讨论】:

  • 也许你应该运行irqbalance...
  • 我也试过这个,但没有任何改变。有趣的是,当我运行“service irqbalance start”时,几秒钟后 irqbalance 服务会自动停止。

标签: linux affinity irq smp


【解决方案1】:

值是位掩码的十六进制表示,通常是64位

  1. 第一站irqbalance
  2. 现在,试试(位模式:10 = 0x2 以十六进制表示)

echo 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000002 > /proc/irq/75/smp_affinity

如果您有 2 个核心处理器,这应该可以工作。

【讨论】:

    【解决方案2】:

    如果您使用的是vmware,请将以太网驱动程序更改为VMXNET3,您将有如下中断:

    cat /proc/interrupts | grep eth3
    57:          0          0          0          0          5  101198492          0          0   PCI-MSI-edge      eth3-rxtx-0
    58:          0          0          0          0          0          2   82962355          0   PCI-MSI-edge      eth3-rxtx-1
    59:          0          0          0          0          0          0          1  112986304   PCI-MSI-edge      eth3-rxtx-2
    60:  120252394          0          0          0          0          0          0          1   PCI-MSI-edge      eth3-rxtx-3
    61:          1  118585532          0          0          0          0          0          0   PCI-MSI-edge      eth3-rxtx-4
    62:          0          1  151440277          0          0          0          0          0   PCI-MSI-edge      eth3-rxtx-5
    63:          0          0          1   94639274          0          0          0          0   PCI-MSI-edge      eth3-rxtx-6
    64:          0          0          0          1   63577471          0          0          0   PCI-MSI-edge      eth3-rxtx-7
    65:          0          0          0          0          0          0          0          0   PCI-MSI-edge      eth3-event-8
    

    您将拥有不同的“rxtx”队列,每个队列都分配给一个 CPU。 在我的例子中,负载在所有 CPU 之间变得平衡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-05
      • 2013-03-05
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 2011-11-20
      • 1970-01-01
      相关资源
      最近更新 更多