“echo 2 > /proc/irq/33/smp_affinity” 中的 ”2“ 是怎么来的,这其实是个二进制数字,代表 00000010,00000001 代表 CPU0 的话,00000010 就代表 CPU1, “echo 2 > /proc/irq/33/smp_affinity” 的意思就是说把 33 中断绑定到 00000001(CPU0)上。所以各个 CPU 用二进制和十六进制表示就是:

也就是说,Linux绑定CPU是通过掩码表示的,每个CPU对应1位,0表示关闭,1表示开启。

如果想把 IRQ 绑定到 CPU2 上就是 00000100=4:

echo "1" > /proc/irq/33/smp_affinity

如果想把 IRQ 同时平衡到 CPU0 和 CPU2 上就是 00000001+00000100=00000101=5:

echo "5" > /proc/irq/33/smp_affinity

注意,在手动绑定 IRQ 到 CPU 之前需要先停掉 irqbalance 这个服务,irqbalance 是个服务进程、是用来自动绑定和平衡 IRQ 的.

还有一个限制就是,IO-APIC 有两种工作模式:logic 和 physical。

  • 在 logic 模式下 IO-APIC 可以同时分布同一种 IO 中断到8颗 CPU (core) 上(受到 bitmask 寄存器的限制,因为 bitmask 只有8位长。);
  • 在 physical 模式下不能同时分布同一中断到不同 CPU 上,比如,不能让 eth0 中断同时由 CPU0 和 CPU1 处理,这个时候只能定位 eth0 到 CPU0、eth1 到 CPU1,也就是说 eth0 中断不能像 logic 模式那样可以同时由多个 CPU 处理。

Linux:CPU中断绑定----计算 SMP IRQ Affinity相关推荐

  1. SMP IRQ affinity

    转载: http://www.cnblogs.com/Bozh/archive/2013/03/21/2973769.html Linux 2.4内核之后引入了将特定中断绑定到指定的CPU的技术,称为 ...

  2. Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity)

    转载 - Linux 多核下绑定硬件中断到不同 CPU(IRQ Affinity) 作者 digoal 日期 2016-11-20 标签 Linux , IRQ , 中断 , CPU亲和 , 绑定中断 ...

  3. Linux内核中断系统处理机制-详细分析

    原文地址::https://blog.csdn.net/weixin_42092278/article/details/81989449 相关文章 1.Linux中断管理 (1)Linux中断管理机制 ...

  4. Linux性能优化(十六)——中断绑定

    一.中断绑定简介 1.中断简介 计算机中,中断是一种电信号,由硬件产生并直接送到中断控制器上,再由中断控制器向CPU发送中断信号,CPU检测到信号后,中断当前工作转而处理中断信号.CPU会通知操作系统 ...

  5. Linux 内核中断内幕【转】

    转自:http://www.ibm.com/developerworks/cn/linux/l-cn-linuxkernelint/ 本文对中断系统进行了全面的分析与探讨,主要包括中断控制器.中断分类 ...

  6. Linux CPU性能测试

    Linux CPU性能测试: 计算圆周率,时间越短性能越好 # time echo "scale=5000;4*a(1)"|bc -l -q 本文转自linux博客51CTO博客, ...

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

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

  8. linux cpu使用率计算

    转自linux 进程的cpu计算,linux环境下cpu利用率的计算_美自的博客-CSDN博客,已经收藏但怕丢失所以直接复制过来 目前linux统计cpu利用率时,所用到的信息,大多数是从 /proc ...

  9. linux内核线程绑定到单个核,linux 将进程或者线程绑定到指定的cpu上

    基本概念 cpu亲和性(affinity) CPU的亲和性, 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器,也称为CPU关联性:再简单的点的描述就将指定的进程或线程绑定到相应的 ...

  10. Linux Cpu性能排查

    分析 Linux平均负载表示可运行和正在运行的队列长度以及不可中断进程个数 uptime # uptime 15:41:50 up 62 days, 21:29, 1 user, load avera ...

最新文章

  1. python中range 函数_Python中的range函数
  2. PCB 电子线路板制作流程
  3. bind() 理解 【转】
  4. 在Excel的单元格中,调用VBA函数
  5. 【luogu P3979 遥远的国度】 题解
  6. SQL Server 数据库文件路径迁移步骤
  7. 精心准备200题Java相关面试,友情分享
  8. python|文本文件的处理
  9. Mac上的GIF制作软件推荐
  10. zigbee抓包时为何时常出现这个not able to setup connection to device smartRF04EB
  11. 产业新基建,撬动数字经济发展新机遇
  12. java指定日期计算一年内第几天和给出一年内第几天算出指定日期
  13. FPGA通过PCIe读写DDR4仿真IP核
  14. 盲盒是怎么赚钱的?(盲盒App的盈利逻辑)
  15. 今天那个劝比尔盖茨退学的人死了
  16. 移动互联网思维的5F法则
  17. PS2020一打开就闪退的解决办法
  18. 想要申请免费的云主机可以怎么做
  19. JavaScript 之 对象及其本身
  20. ehviewer怎么搜索关键字_ehviewer

热门文章

  1. 课外读物积累-----如何提高英文的科研写作能力(摘自施一公寄语)
  2. java 什么是成员变量_java成员变量和方法的含义是什么?异同点有哪些?
  3. RK3288 Android5.1 串口接收数据不是一次性收到问题
  4. C# WinForm GUI之示例
  5. python找不同_用Python玩大家来找茬
  6. PHP1c型GNAS,【临床研究与实践】儿童假性甲状旁腺功能减退症20例临床特征与GNAS基因缺陷分析...
  7. C#设置点击打开外部exe程序,并判断是否程序已开启,未开启的话打开,已经在运行了就前置
  8. Linux wipe工具
  9. centos安装nginx配置webpy
  10. One Last Kiss风格封面生成器;程序内存分析工具;Python入门课程资料;神经文本语音合成教程;前沿论文 | ShowMeAI资讯日报