安基网 欢乐生肖 系统 Linux 查看内容

详解linux网络调优--网卡中断与CPU绑定

2019-10-2 02:05| 投稿: |来自:


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 在Linux的网络调优方面,如果你发现网络流量上不去,那么有一个方面需要去查一下:网卡处理网络请求的中断是否被绑定到单个CPU或跟处理其它中断的是同一个CPU。网卡与操作系统的交互方式网卡与操作系统的交互一般有两种方式:1、中断IRQ网卡在收到了网络信号之后,主动发送中断到CPU,而CPU将 ...

概述

在Linux的网络调优方面,如果你发现网络流量上不去,那么有一个方面需要去查一下:网卡处理网络请求的中断是否被绑定到单个CPU或跟处理其它中断的是同一个CPU。


网卡与操作系统的交互方式

网卡与操作系统的交互一般有两种方式:

1、中断IRQ

网卡在收到了网络信号之后,主动发送中断到CPU,而CPU将会立即停下手边的活以便对这个中断信号进行分析;

2、DMA(Direct Memory Access)

也就是允许硬件在无CPU干预的情况下将数据缓存在指定的内存空间内,在CPU合适的时候才处理;

现在的对称多核处理器(SMP)上,一块网卡的IRQ还是只有一个CPU来响应,其它CPU无法参与,如果这个CPU还要忙其它的中断(其它网卡或者其它使用中断的外设(比如磁盘)),那么就会形成瓶颈。


检查环境

首先,让网络跑满。如:对于MySQL/MongoDB服务,可以通过客户端发起密集的读操作 或执行一个大文件传送任务。查明是不是某个CPU在一直忙着处理IRQ?

从 mpstat -P ALL 1 输出里面的 %irq一列即说明了哪个CPU忙于处理中断的时间占比;

上面的例子中,第四个CPU有25.63%时间在忙于处理中断,后面 intr/s 也说明了CPU每秒处理的中断数。从上面的数据可以看出,其它几个CPU都不怎么处理中断。

那么,这些忙于处理中断的CPU都在处理哪些中断?

�6�7 这里记录的是自启动以来,每个CPU处理各类中断的数量。第一列是中断号,最后一列是对应的设备名。从上面可以看到: eth0所出发的中断全部都是 CPU0在处理,而CPU0所处理的中断请求中,主要是eth0和LOC中断。有时我们会看到几个CPU对同一个中断类型所处理的的请求数相差无几(比如上面的LOC),这并不一定是说多个CPU会轮流处理同一个中断,而是因为这里记录的是“自启动以来”的统计,中间可能因为irq balancer重新分配过处理中断的CPU。


解决思路

 现在的多数Linux系统中都有IRQ Balance这个服务(服务程序一般是 /usr/sbin/irqbalance),它可以自动调节分配各个中断与CPU的绑定关系,以避免所有中断的处理都集中在少数几个CPU上。在某些情况下,这个IRQ Balance反而会导致问题,会出现 irqbalance 这个进程反而自身占用了较高的CPU(当然也就影响了业务系统的性能)。

首先要看该网卡的中断当前是否已经限定到某些CPU了?具体是哪些CPU?

根据上面 /proc/interrupts 的内容我们可以看到 eth0 的中断号是74,然后我们来看看该中断号的CPU绑定情况或者说叫亲和性 affinity。

$ sudo cat /proc/irq/74/smp_affinity
ffffff

 这个输出是一个16进制的数值,0xffffff = '0b111111111111111111111111',这就意味着这里有24个CPU,所有位都为1表示所有CPU都可以被该中断干扰。

修改配置的方法:

(设置为2表示将该中断绑定到CPU1上,0x2 = 0b10,而第一个CPU为CPU0)

echo 2 > /proc/irq/74/smp_affinity

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~




小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6742300614434243086/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

相关阅读

最新评论

 最新
返回顶部
极速3分彩 北京幸运28 极速快乐8 欢乐生肖 贵州快3计划 欢乐生肖 上海时时乐 北京幸运28 极速快3 山东十一运夺金开奖结果