我有一个运行centos7.5的qemu guest。 我启用了NIC多队列并绑定了CPU。
# for line in `cat /proc/interrupts | grep input | grep virtio | awk '{print $1}' | awk -F[:] '{print $1}'` ; do ret=`cat /proc/irq/$line/smp_affinity`; echo $line $ret; done
27 0001
29 0002
31 0004
33 0008
35 0010
37 0020
39 0040
41 0080
当虚拟机发送大量数据包进行测试时,可以发现中断分配与中断记录不平衡。
27: 745176 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.0
29: 7 108734 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.1
31: 1 0 235 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.2
33: 1 0 0 121 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.3
35: 1 0 0 0 760961 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.4
37: 1 0 0 0 0 689 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.5
39: 1 0 0 0 0 0 710062 0 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.6
41: 1 0 0 0 0 0 0 118 0 0 0 0 0 0 0 0 PCI-MSI-edge virtio0-input.7
只有少数cpu具有相对较高的中断处理量。 为什么会出现此问题,我该如何解决? 请帮助我。