Linux下默认的一个网卡的中断操作只是有一个cpu来处理,目前多数主机都是多核cpu,在网络io操作比较多的服务器上,io操作往往成为瓶颈。

最直观的体现就是,当网络操作较多时,应用程序的cpu飙升到100%,但是再查看每个cpu的负载情况,会发现压力都被集中到了某个cpu上,其他的cpu都还是空的,例如:

图1

出现上述情况时就应考虑是不是由于io太多的原因了,这里的Mosquitto是网络程序,所以基本就是网络io引起的;

此时再查看系统的中断情况,可以看到网卡产生了大量的中断,而且所有的中断都被分到一个cpu上,使用命令:

cat /proc/interrupts

例如:

图2

这里的p2p1就是当前的网卡设备,如下图可以看出:

图3

查看中断的cpu分配情况:

使用命令:cat /proc/irq/45/smp_affinity

这里的45就是图2中网卡设备p2p1对应的中断代号;其输出结果用二进制的位来表示当前的中断由那个cpu来处理,例如:如果0000 0001表示第0个cpu来处理,那么0000 0010就表示第1个cpu来处理。例如:

图4

这里的8就是0x0000 1000即第三个cpu来处理中断,因此也就是图2中大量的网络中断被分配到了第三个cpu;同样,0x 0000 0011就表示由第0个和第1个cpu来处理;

修改中断代号:

echo "f">/proc/irq/45/smp_affinity

如下图所示:

将网卡中断分布到多个cpu上的方法相关推荐

  1. CPU亲缘性及网卡中断绑定

    #####编辑器依旧那么难用 难用 难用~~################ ################################################## CPU亲缘性及网卡中 ...

  2. Linux网卡中断使单个CPU过载

    Linux内核在性能方面已经经历了很长一段时间的考验,尤其是2.6/3.x内核.然而,在高IO,尤其是网络方面的情况下,对中断的处理可能成为问题.我们已经 在拥有一个或多个饱和1Gbps网卡的高性能系 ...

  3. 技术项目 - Linux网卡中断使单个CPU过载

    Linux内核在性能方面已经经历了很长一段时间的考验,尤其是2.6/3.x内核.然而,在高IO,尤其是网络方面的情况下,对中断的处理可能成为问题.我们已经在拥有一个或多个饱和1Gbps网卡的高性能系统 ...

  4. 上下文保存 中断_Linux性能优化(CPU篇)(5)——CPU的上下文切换有几种类型?什么是进程上下文切换?...

    上一篇中讲了stress用来模拟常见压力测试的选项: RobotCode俱乐部:<Linux性能优化实战>之CPU性能篇(四)​zhuanlan.zhihu.com 这一篇的主题是:CPU ...

  5. 性能计数器驱动_Linux CPU性能优化方法

    在Linux系统中,由于成本的限制,往往会存在资源上的不足,例如 CPU.内存.网络.IO 性能.本文,就对 Linux 进程和 CPU 的原理进行分析,总结出 CPU 性能优化的方法. 1. 分析手 ...

  6. linux虚拟中断virq,一种微内核操作系统的分区多核方法与流程

    本发明涉及一种计算机领域,特别涉及一种微内核操作系统的分区多核方法. 背景技术: 在宏内核操作系统(如Linux,Windows)中,网络.文件系统.设备驱动等大量系统服务都在操作系统内核中,微内核操 ...

  7. BMC通过PECI接口获取CPU温度实现方法

    本文转载于网络,侵权删. PECI是用于监测CPU及芯片组温度的一线总线(one-wirebus),全称是Platform Environment Control Interface.它最主要的应用是 ...

  8. Intel CPU 上使用 pmu-tools 进行 TopDown 分析

    title: Intel CPU 上使用 pmu-tools 进行 TopDown 分析 date: 2021-01-24 18:40 author: gatieme tags: - debug - ...

  9. 台式计算机清洁除尘内容,台式电脑cpu除尘的方法

    台式电脑如何除尘,新买的时候电脑里是一尘不染的,但是后来使用久了,尘土就会慢慢的堆积在主机里面.下面是学习啦小编收集整理的台式电脑cpu除尘的方法,希望对大家有帮助~~ 台式电脑cpu除尘的方法一 工 ...

最新文章

  1. poj3517(约瑟夫环问题)
  2. 和产品争论MySQL底层如何实现order by的,惨败!
  3. 显卡驱动程序卸载以及安装
  4. DL之paddlepaddle:百度深度学习框架paddlepaddle飞桨的简介、安装、使用方法之详细攻略
  5. vue 删除两个集合中相同的数据_vue.js如何删除数组里面的数据
  6. setGeometry
  7. 史上最简单的决策树模型讲解
  8. 凝结芽孢杆菌行业调研报告 - 市场现状分析与发展前景预测
  9. MySQL系列(三)
  10. 以非泛型方式调用泛型方法
  11. 轴承行业PLM解决方案
  12. IE Adobe Flash Player版本已是最新,界面仍然提示版本过旧原因
  13. 计算机信息科学学科分类,-学科分类与代码.doc
  14. 3.NLP中文分词技术
  15. 机器学习(十五)回归算法之线性回归
  16. python开发管理平台_python开发crm管理系统
  17. 论文阅读:Overview of the NLPCC 2018 Shared Task: Grammatical Error Correction
  18. postgres用户管理及权限控制--赋予某账号只读权限
  19. keep-alive实现原理
  20. 我本不属于人间—献给全世界最伟大的女性

热门文章

  1. PreScan中对象沿预设轨迹运动的若干方式介绍
  2. python取余_大牛带你打牢Python基础,看看这10语法
  3. 【python基础知识】error: Unable to find vcvarsall.bat--python3.5+windows7
  4. Spark DataFrame小试牛刀
  5. day2 java的数据转换与强制转换
  6. springboot gateway 负载均衡_05_Springbootamp;Springcloud面试题
  7. python如何对文件进行批量命名-利用Python对文件批量重命名
  8. 评论安装_再也不用手动复制粘贴收集Taptap游戏评论了,还可以制作好看的热词词云图~...
  9. byte是什么数据类型_PLC基本数据类型的解读(避免在使用中的误解)
  10. k2p一直亮红灯搜不到信号_周迅感情亮红灯?真离了!?亮红灯英文是red light ?red 对了,但不用 light!...