linux 分析中断
设置中断
cat /proc/interrupts |grep eth0|awk -F":" '{print $1}' |awk '{print "cat /proc/irq/"$1"/smp_affinity_list"}'
cat /proc/interrupts |grep eth1|awk -F":" '{print $1}'| awk '{print"echo 0-15,16-31 > /proc/irq/"$1"/smp_affinity_list"}'
systemctl stop irqbalance.service
设置rps
echo "ffffffff,ffffffff" > /sys/class/net/ipsec0/queues/rx-0/rps_cpus
echo "ffffffff,ffffffff" > /sys/class/net/ipsec1/queues/rx-0/rps_cpus
ls -1 /sys/class/net/eth1/queues/ |grep -v tx |awk '{print"cat /sys/class/net/eth1/queues/"$1"/rps_cpus"}' |bash |sort -n |uniq
ls -1 /sys/class/net/eth1/queues/ |grep -v tx |awk '{print"echo ffffffff,00000000 > /sys/class/net/eth1/queues/"$1"/rps_cpus"}'
关闭中断合并
ethtool -C eth0 adaptive-rx off adaptive-tx off
ethtool -C eth0 rx-usecs 0 rx-frames 0
分析中断
watch -d "mpstat -I SUM -P ALL 1 1 |grep Average |awk '{print \$2\": \"\$3}' |tr '\n' '\t'"
watch -d mpstat -I ALL -P 0 1 1