CPU中断数查看

多核CPU每个核心CPU发生中断的数量查看

# mpstat -I SUM -P ALL 1 3
Linux 5.4.0-40-generic (verify-new-511kernel) 08/28/2021 _x86_64_ (72 CPU) 09:09:30 AM CPU intr/s
09:09:31 AM all 18762.00
09:09:31 AM 0 253.00
09:09:31 AM 1 256.00
09:09:31 AM 2 253.00
09:09:31 AM 3 253.00
09:09:31 AM 4 254.00
09:09:31 AM 5 260.00

说明:

pstat  [-I {SUM| CPU | SCPU}][-P {|ALL}] [internal [count]]
参数 解释
-I 查看中断 {SUM 表示汇总每个CPU上的中断数| SCPU 单个软件中断数}
-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值
internal 相邻的两次采样的间隔时间、
count 采样的次数,count只能和delay一起使用

当中断集中在某个CPU时,会把这个CPU打满,建议将中断平均分配每个CPU处理。

查看中断数高的CPU忙于处理哪些中断

命令:cat /proc/interrupts

cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 245 0 0 7134094 IO-APIC-edge timer
8: 0 0 49 0 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
66: 67 0 0 0 IO-APIC-level ehci_hcd:usb2
74: 902214 0 0 0 PCI-MSI eth0
169: 0 0 79 0 IO-APIC-level ehci_hcd:usb1
177: 0 0 0 7170885 IO-APIC-level ata_piix, b4xxp
185: 0 0 0 59375 IO-APIC-level ata_piix
NMI: 0 0 0 0
LOC: 7104234 7104239 7104243 7104218
ERR: 0
MIS: 0

查看网卡当前中断号绑定的CPU编号

cat /proc/interrupts | head -n1    && cat  /proc/interrupts | grep eth
CPU0 CPU1
124: 1733966 0 IR-PCI-MSI 49283073-edge eth0-0
125: 0 0 IR-PCI-MSI 49283074-edge eth0-1
126: 0 0 IR-PCI-MSI 49283075-edge eth0-2
127: 0 0 IR-PCI-MSI 49283076-edge eth0-3
128: 0 0 IR-PCI-MSI 49283077-edge eth0-4
129: 0 0 IR-PCI-MSI 49283078-edge eth0-5
130: 0 0 IR-PCI-MSI 49283079-edge eth0-6
131: 0 0 IR-PCI-MSI 49283080-edge eth0-7

如上看每个网卡队列对应一个中断编号,以eth0-0 网卡队列为例,对应中断号为124 查看该队列绑定的CPU

cat  /proc/irq/124/smp_affinity_list  查看绑定的CPU列表,(10进制表示)

# cat /proc/irq/124/smp_affinity_list
0

如上表示绑定的为CPU0

cat /proc/irq/124/smp_affinity  查看绑定的CPU列表 (16进制表示)

# cat /proc/irq/124/smp_affinity
00,00000000,00000001

将中断号绑定所有CPU

绑定中断到0、1、2、3核

root@verify-new-511kernel:~# echo 0,1,2,3 >  /proc/irq/124/smp_affinity_list
root@verify-new-511kernel:~# cat /proc/irq/124/smp_affinity
00,00000000,0000000f
root@verify-new-511kernel:~# cat /proc/irq/124/smp_affinity_list
0-3
root@verify-new-511kernel:~#

只绑定到个别核心例如CPU0和CPU1 可以写0-1 代表 连续的核心范围

# echo 0-1 >  /proc/irq/124/smp_affinity_list
# cat /proc/irq/124/smp_affinity_list
0-1
# cat /proc/irq/124/smp_affinity
00,00000000,00000003

绑定所有的核心(本例72个核心)

root@verify-new-511kernel:~# echo 0-71 >  /proc/irq/124/smp_affinity_list
root@verify-new-511kernel:~# cat /proc/irq/124/smp_affinity
ff,ffffffff,ffffffff

CPU中断数查看与网卡中断绑核的更多相关文章

  1. 把网卡中断绑定到CPU,最大化网卡的吞吐量(转)

    先来看一下问题, 我们通过 ifconfig 查看接口的名称 为 p15p1, 一般机器为 eth0 再通过命令 ➜ ~ cat /proc/interrupts | head -n 1 && ...

  2. [Linux 性能调优] 网卡中断与CPU的绑定问题

    在Linux的网络调优方面,如果你发现网络流量上不去,那么有一个方面需要去查一下:网卡处理网络请求的中断是否被绑定到单个CPU(或者说跟处理其它中断的是同一个CPU). 先说一下背景 网卡与操作系统的 ...

  3. 多CPU下基于e1000e驱动的数据包以及网卡中断流程分析.doc

    http://wenku.baidu.com/link?url=mMKDH_fKmUXN7L6rANIFHjoHdKCYBLlDrqoYB1daDTEkNFk9Bt9xlJtS_4BKBj6w22WD ...

  4. centos linux系统日常管理复习 CPU物理数逻辑核数,iftop ,iotop ,sar ,ps,netstat ,一网卡多IP,mii-tool 连接,ethtool速率,一个网卡配置多个IP,mii-tool 连接,ethtool速率 ,crontab备份, 第十八节课

    centos linux系统日常管理复习 物理CPU和每颗CPU的逻辑核数,uptime ,w,vmstat,iftop ,iotop ,sar ,ps,netstat ,一个网卡配置多个IP,mii ...

  5. Linux系统针对网卡中断的优化处理

    摘要: 中断: 当网卡接收到数据包后,会触发硬中断,通知CPU来收包.硬中断是一个CPU和网卡交互的过程.这其实会消耗CPU资源.特别是在使用速度极快的万兆网卡 之后,大量的网络交互使得CPU很大一部 ...

  6. 【基础知识】CPU上下文切换(进程上下文切换 - 线程上下文切换 - 中断上下文切换)

    CPU 上下文切换是什么 CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加载新任务的上下文到这些寄存器和程序计数器,最后再跳转到程序计数器 ...

  7. 如何查看服务器CPU核心数和线程数

    知道服务器CPU型号,那么我们如何在服务器里面查看服务器CPU核心数和线程数呢? 步骤: 先用鼠标右键点击屏幕最下方的任务栏空白处.会弹出一个菜单. 在菜单中用鼠标左键点选“启动任务管理器”. 点击任 ...

  8. 查看电脑CPU核心数的方法

    查看电脑CPU核心数的方法: 方法一: 同时按下[Ctrl+Shift+Esc]组合快捷键打开任务管理器: 点击[性能]就可以看出是几核CPU了: 方法二: 在计算机图标上面点击右键,选择“管理”: ...

  9. x86架构中的外部中断结构-Part 1:中断控制器的演化

    本文主要讲解了x86体系架构从外部设备接受中断的过程,本文是系列文章的第一部分,试图回答以下问题: 什么是PIC以及它的用途是什么? 什么是APIC以及它的用途是什么?LAPIC和I/O APIC的目 ...

随机推荐

  1. .NET E F(Entity Framework)框架 DataBase First 和 Code First 简单用法。

    EF是微软.NET平台官方的ORM(objet-relation mapping),就是一种对象-关系 映射,是将关系数据库种的业务数据用对象的形式表现出来,并通过面向对象的方式讲这些对象组织起来,实 ...

  2. Java培训班4个月有用吗?

    很多想学Java都会经历这样一个选择,是自学还是报班?自学的话需要一步步摸索,从无到有硬啃下来,时间没保证:可如果报班的话,目前市面上五花八门的培训机构又是鱼龙混杂,并且现在越来越多的培训机构宣称&q ...

  3. vue项目中使用canvas

    canvas API 文档:https://www.canvasapi.cn/ 一.在html中使用canvas canvas 元素用于在网页上绘制图形.  在html中,使用 document.ge ...

  4. Codeforces 587F - Duff is Mad(根号分治+AC 自动机+树状数组)

    题面传送门 第一眼看成了 CF547E-- 话说 CF587F 和 CF547E 出题人一样欸--还有另一道 AC 自动机的题 CF696D 也是这位名叫 PrinceOfPersia 的出题人出的- ...

  5. Comet OJ Contest #13 D

    Comet OJ Contest #13 D \(\displaystyle \sum_{i=0}^{\left\lfloor\frac{n}{2}\right\rfloor} a^{i} b^{n- ...

  6. 重测序(RADseq)做群体遗传分析套路

    实验材料 构建的群体,或自然群体,如各地方品种. RAD文库构建 提取DNA后,构建文库,简要步骤如下: ① 限制性内切酶TaqI酶切: ② 连接P1接头: ③ DNA随机打断片断化: ④ 目的片段回 ...

  7. 完全用Deepin Linux娱乐、工作、学习(1)

    截至今天我已经用全Deepin Desktop Linux环境娱乐.工作.学习了100多天.当你看到这个桌面的时候,会不会觉得它是MacOS?错了,它是Deepin Desktop Linux,而且它 ...

  8. 25-ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...

  9. 修改linux系统下mysql数据库登陆密码(密码忘记)

    报错:Access denied for user 'root'@'localhost' (using password: NO) 解决方案: 1. 检查mysql服务是否启动,如果启动,关闭mysq ...

  10. 日常Java 2021/11/6

    Java多线程编程 Java给多线程编程提供了内置的支持.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个钱程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用 ...