网卡问题记录-队列

网卡可以分为多队列网卡和单队列网卡

背景:

linux 早期 不支持网卡多队列机制,因为只能申请一个中断号,导致此网卡的所有中断都由同一cpu处理,无法利用多核心


多队列网卡:

可以通过设置/proc/irq/中断号/smp_affinity来 设置均衡

比如echo 1 > /proc/irq/12/smp_affinity 设置只有cpu0 来处理12中断

echo ffffffff >  /proc/irq/12/smp_affinity 设置来均衡此中断到所有cpu上

可以通过 ethtool -l 网卡名(比如eth0)


pre-set maximums 下的 combined后的数字就是最多的队列数

可以通过ethtool -L eth0 combined 2 来设置当前生效的队列数



单队列网卡:

sysctl -w net.core.rps_sock_flow_entries=所有队列的中断数,对于单队列和/sys/class/net/eth0/queues/rx-0/rps_flow_cnt 一样(每个队列的中断数)

/sys/class/net/eth0/queues/rx-0/rps_cpus 设置cpu数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。