tl; dr:第一个 CPU 内核始终处于饱和状态,所有其他内核始终负载不足。
一个虚拟机,在基于 Ubuntu 的 Xen XCP 中:
$ uname -a Linux MYHOST 2.6.38-15-virtual #59-Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU/Linux $ lsb_release -a 没有可用的 LSB 模块。 分销商 ID: Ubuntu 描述:Ubuntu 11.04 发布:11.04 代号:natty
此 VM 有 8 个 CPU 内核。
这个虚拟机上运行着 10 个单线程工作进程,它们通过 FCGI 接口连接到 nginx 服务器(在本地网络端口上侦听)。
在来自 AB 的合成负载下,只有 8 个内核中的第一个内核会加载到 100%(如从 中看到的htop)。它或多或少地始终处于非常高的负载下,所有其他内核的负载从 0% 到 100% 不等,或多或少是随机的(并且这些内核的 CPU 负载在跳动)。
这是我在负载下通常看到的内容htop:
1 [|||||||||||||||||||||||||||||||||||||||||||| …
由于这个问题中概述的原因,我想更改 IRQ SMP 关联性:CPU0 is swamped with eth1 interrupts
但我不能——Input/output error当我尝试写信给/proc/irq/*/smp_affinity.
请向我指出有关此事的 HOWTO。(正式参考/proc/irq/*/也很酷。)
血腥细节:
请注意,这是基于 Ubuntu 的 Xen XCP 主机内的 VM (PV domU)。
$ uname -a Linux MYHOST 2.6.38-15-virtual #59-Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU/Linux $ lsb_release -a 没有可用的 LSB 模块。 分销商 ID: Ubuntu 描述:Ubuntu 11.04 发布:11.04 代号:natty $ sudo cat /proc/irq/*/smp_affinity 01 01 01 01 01 80 80 80 80 80 80 40 40 40 40 …