У меня есть гость qemu, который запускает centos7.5.
Я включаю NIC multi-queue и связанный процессор.
# 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
Только несколько процессоров имеют относительно большое количество обработки прерываний.
Почему эта проблема, как я могу это исправить?
пожалуйста, помогите мне.