IRQ没有被所有的CPU处理

我有一个关于平衡irq的问题。 我从/ etc / interrupts中获取了irq数字,并将每个irq分配给24个CPU,如本教程所述

for i in {143..166};do cat /proc/irq/${i}/smp_affinity; done 000001 000002 000004 000008 000010 000020 000040 000080 000100 000200 000400 000800 001000 002000 004000 008000 010000 020000 040000 080000 100000 200000 400000 800000 

之后我们通过发送大约1000万pps来testing服务器并观察最高命令的输出。

 top - 15:19:06 up 5:02, 8 users, load average: 12.51, 12.86, 12.38 Tasks: 278 total, 17 running, 261 sleeping, 0 stopped, 0 zombie %Cpu0 : 0.0 us, 0.0 sy, 0.0 ni, 0.7 id, 0.0 wa, 99.3 hi, 0.0 si, 0.0 st %Cpu1 : 0.0 us, 0.0 sy, 0.0 ni, 1.0 id, 0.0 wa, 99.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.0 us, 0.0 sy, 0.0 ni, 0.7 id, 0.0 wa, 99.3 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni, 1.0 id, 0.0 wa, 99.0 hi, 0.0 si, 0.0 st %Cpu4 : 0.0 us, 0.0 sy, 0.0 ni, 4.0 id, 0.0 wa, 96.0 hi, 0.0 si, 0.0 st %Cpu5 : 0.0 us, 0.0 sy, 0.0 ni, 4.7 id, 0.0 wa, 95.3 hi, 0.0 si, 0.0 st %Cpu6 : 0.0 us, 0.0 sy, 0.0 ni, 5.3 id, 0.0 wa, 94.7 hi, 0.0 si, 0.0 st %Cpu7 : 0.0 us, 0.0 sy, 0.0 ni, 6.0 id, 0.0 wa, 94.0 hi, 0.0 si, 0.0 st %Cpu8 : 0.0 us, 0.3 sy, 0.0 ni, 5.0 id, 0.0 wa, 94.7 hi, 0.0 si, 0.0 st %Cpu9 : 0.0 us, 0.3 sy, 0.0 ni, 5.6 id, 0.0 wa, 94.1 hi, 0.0 si, 0.0 st %Cpu10 : 0.0 us, 0.3 sy, 0.0 ni, 5.3 id, 0.0 wa, 94.4 hi, 0.0 si, 0.0 st %Cpu11 : 0.0 us, 0.0 sy, 0.0 ni, 6.0 id, 0.0 wa, 94.0 hi, 0.0 si, 0.0 st %Cpu12 : 0.0 us, 0.0 sy, 0.0 ni, 1.0 id, 0.0 wa, 99.0 hi, 0.0 si, 0.0 st %Cpu13 : 0.0 us, 0.0 sy, 0.0 ni, 1.0 id, 0.0 wa, 99.0 hi, 0.0 si, 0.0 st %Cpu14 : 0.0 us, 0.3 sy, 0.0 ni, 1.0 id, 0.0 wa, 98.7 hi, 0.0 si, 0.0 st %Cpu15 : 0.0 us, 0.0 sy, 0.0 ni, 0.7 id, 0.0 wa, 99.3 hi, 0.0 si, 0.0 st %Cpu16 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu17 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu18 : 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu19 : 1.3 us, 0.3 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu20 : 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu21 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu22 : 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu23 : 0.3 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.3 hi, 0.0 si, 0.0 st KiB Mem: 65947892 total, 1055364 used, 64892528 free, 24544 buffers KiB Swap: 50321404 total, 0 used, 50321404 free, 348920 cached 

我的问题是为什么只有24个CPU中的16个被加载? 这是正常的吗? 我如何平衡IRQ到所有的CPU?