默认情况下,IRQ中断是均衡在不同的CPU上运行的。
如果要取消均衡,并指定中断到固定的某个CPU上,需要的操作:
- 1 停止IRQ均衡服务:
systemctl stop irqbalance.service
- 2 找到对应的中断号,例如,以网卡中断56为例:
- 3 查看在该中断号执行在哪个CPU上
图中的2表示为2的1次方,表示运行在1号cpu上,如果要修改成cpu0,将其修改为1,表示2的0次方
- 4 修改
**************
查看效果:
使用一个其他PC长ping该虚拟机,来查看中断次数(或者使用命令watch -n 1 ‘cat /proc/interrupts | grep 56 | grep enp160’查看动态变化)
此时,所有中断发生在CPU0上,如果修改成echo 2 > smp_affinity后,再观察
如果打开irqbalance.service服务,再次观察并对比:
默认每十秒钟切换一次