一、关于irqbalance 服务
理论上,启用 irqbalance 服务,既可以提升性能,又可以降低能耗。
irqbalance 用于优化中断分配,它会自动收集系统数据以分析使用模式,并依据系统负载状况将工作状态置于 Performance mode 或 Power-save mode。
处于 Performance mode 时,irqbalance 会将中断尽可能均匀地分发给各个 CPU core,以充分利用 CPU 多核,提升性能。
处于 Power-save mode 时,irqbalance 会将中断集中分配给第一个 CPU,以保证其它空闲 CPU 的睡眠时间,降低能耗。
实际中往往影响cpu的使用均衡,irqbalance根据系统中断负载的情况,自动迁移中断保持中断的平衡,同时会考虑到省电因素等等, 但是在实时系统中会导致中断自动漂移,对性能造成不稳定因素,在高性能的场合建议关闭。
在RHEL发行版里这个守护程序默认是开机启用的,那如何确认它的状态呢?
# systemctl status irqbalance
外国论坛上也有报告一样的内存泄漏问题(发生在bananaPi上,另一个基于全志CPU的类树莓派ARM平台):
http://forum.lemaker.org/thread-5512-1-1.html
最终讨论结果大意:这个服务已经过时了,不适合当前的多核CPU(从低端的ARM 到高端的IRON大机),所谓的负载均衡并不能带来什么好处。普通用户应该直接删掉这个服务,发行版打包者最好也丢弃这个东西吧!
二、关闭irqbalance
Cent OS 6.x
# /etc/init.d/irqbalance stop
# chkconfig irqbalance off
#############################
CentOS 7.x
# systemctl stop irqbalance.service
# systemctl disable irqbalance.service
三、参考
irqbalance
https://baike.baidu.com/item/irqbalance/19722260?fr=aladdin
http://www.irqbalance.org/
https://github.com/Irqbalance/irqbalance
irqbalanceの出力するメッセージ
https://ex1.m-yabe.com/archives/781
https://www.linuxquestions.org/questions/linux-software-2/irqbalance-warning-didn%27t-collect-load-info-for-all-cpus-balancing-is-broken-4175557904/
在Cubieboard上关闭irqbalance服务避免内存泄漏
https://www.cnblogs.com/bitspace/p/4858561.html
https://blog.51cto.com/reliable/1753245
深度剖析告诉你irqbalance有用吗?
http://blog.yufeng.info/archives/2422