对Linux 网卡软中断做负载均衡
来源:互联网 发布:2016年网络电影票房 编辑:程序博客网 时间:2024/06/05 00:45
测试中发现服务器整体负载较低,但有cpu负载特别高,其中一个cpu几乎一半是软中断si,特别忙,而还有的cpu特别空闲。
- top - 16:12:08 up 31 days, 3:52, 1 user, load average: <span style="color: #ff0000;">0.11, 0.11, 0.06</span>
- Tasks: 242 total, 4 running, 238 sleeping, 0 stopped, 0 zombie
- Cpu0 : 12.3%us, 14.6%sy, 0.0%ni, 70.2%id, 0.0%wa, 0.0%hi, 3.0%si, 0.0%st
- Cpu1 : 21.6%us, 22.9%sy, 0.0%ni, 7.3%id, 0.0%wa, 0.0%hi, <span style="color: #ff0000;">48.2%si</span>, 0.0%st
- Cpu2 : 16.5%us, 19.1%sy, 0.0%ni, 43.9%id, 0.0%wa, 0.0%hi, 20.5%si, 0.0%st
- Cpu3 : 2.3%us, 2.6%sy, 0.0%ni, 94.1%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st
- Cpu4 : 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
先用mpstat -I SUM -P ALL 5 来看一下每个cpu的终端情况,发现cpu1和cpu2处理的中断确实很多,是什么dd在使用这两个cpu做中断呢?
- # mpstat -I SUM -P ALL 5
- Linux 2.6.32-220.13.1.el6.x86_64 (talus186) 12/26/2013 _x86_64_ (12 CPU)
- 04:15:18 PM CPU intr/s
- 04:15:23 PM all 62422.60
- 04:15:23 PM 0 0.00
- 04:15:23 PM 1 21566.20
- 04:15:23 PM 2 12123.00
- 04:15:23 PM 3 0.00
- 04:15:23 PM 4 1.00
使用 cat /proc/interrupts 查看中断情况,间隔几秒后再次cat /proc/interrupts,然后比较对应值的变化,发现eth0-1、eth0-2等使用cpu1、cpu2做中断,这两个对应的中断号分别是95,96...
- 95: 33 325897741 0 30997484 72 0 93968731 0 0 0 426 864 IR-PCI-MSI-edge eth0-1
- 96: 50 206 66609822 117 0 0 0 0 0 0 0 24437509 IR-PCI-MSI-edge eth0-2
在使用 cat /proc/irq/95/smp_affinity cat /proc/irq/smp_affinity 等看出网卡的队列都在使用cpu1 和cpu2
- cat /proc/irq/95/smp_affinity
- 00000002
- cat /proc/irq/96/smp_affinity
- 00000004
好了,把空闲的cpu用上来分摊网卡中断
- echo 08 > /proc/irq/97/ smp_affinity
- echo 10 > /proc/irq/98/ smp_affinity
- ...
再进行测试,发现cpu消耗整体还不够均衡,TOP下使用f,然后再加j,发现应用进程使用的cpu与网卡中断使用的cpu重合,再把单线程应用进程绑定到其他CPU,终于均衡下来。
最后,网卡软中断绑定cpu需要满足几个条件:1 linux内核版本必须在2.4+; 2 网卡对应的中断控制器必须是IO-APIC芯片,且需启用IO-APIC;3 部分CPU可能不支持。
0 0
- 对Linux 网卡软中断做负载均衡
- 对Linux 网卡软中断做负载均衡
- linux 网卡软中断的查看与设置负载均衡
- 网卡中断负载均衡
- 网卡中断负载均衡
- 网卡中断负载均衡
- Linux中断负载均衡
- linux下软中断[si]负载均衡
- linux、windows下利用Nginx对Tomcat做负载均衡
- Linux下实现双网卡负载均衡
- linux双网卡负载均衡bonding使用方法
- Nginx对Tomcat做负载均衡
- 使用Haproxy对Sphinx做负载均衡
- WINDOWS下双网卡做负载均衡(转载内容)
- [Linux]nginx tomcat做负载均衡
- 密集负载下的网卡中断负载均衡smp affinity及单队列RPS
- 密集负载下的网卡中断负载均衡smp affinity及单队列RPS
- 密集负载下的网卡中断负载均衡smp affinity及单队列RPS
- js生成二维码
- Npm包的开发
- 3、List操作
- 最全面的Java知识图谱收集整理
- HDU 6024 Building Shops[dp]
- 对Linux 网卡软中断做负载均衡
- java -- String基本方法
- [转]Volly网络请求
- 理解Cookie和Session机制(转)
- 利用梦网云通讯实现 短信 验证码 发送 附带教程~~~
- UI绘制流程分析(源码级分析)
- 读取text文本工具类
- IDEA运行时动态加载页面
- 计算 SMP IRQ Affinity