Linux操作系统下CPU的中断


当前第2页 返回上一页

例如,一个数字除以0(当然这是不可能的),此时就会导致一个divide-by-zero的异常,从而导致计算机将此计算取消或者显示一个错误的信息。

在文件/proc/stat中,包含了一些关于系统内核的统计信息,也包含了一些中断信息。
# cat /proc/stat
cpu 17028082 5536753 5081493 1735530500 42592308 90006 479750 0
cpu0 5769176 1170683 1495750 403368354 39406374 90006 284864 0
cpu1 3714389 1451937 1186134 444082258 1084780 0 64876 0
cpu2 3791544 1471013 1211868 443988514 1056981 0 64764 0
cpu3 3752971 1443119 1187740 444091373 1044172 0 65244 0
intr 417756956 --- Output Truncated

在intr这一行,显示了自从系统启动以来所产生的中断数。第一列表示所有被服务的中断数。后续的每一列都表示一个特定中断的总数。

SMP_AFFINITY
SMP是指对称多处理器。smp_affinity文件主要用于某个特定IRQ要绑定到哪个CPU核心上。在/proc/irq/IRQ_NUMBER/目录下都有一个smp_affinity文件,这个文件中,所表示的CPU核心以十六进制来表示的。例如,网卡的中断号是:

grep eth0 /proc/interrupts
67: 23834931 0 0 0 IO-APIC-level eth0

cat /proc/irq/67/smp_affinity
00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001

上面的十六进制对应的十进制是1,也就是说所有的和网卡驱动相关的中断都是有CPU0来提供服务的。

我们可以通过手动改变smp_affinity文件中的值来将IRQ绑定到指定的CPU核心上,或者启用irqbalance服务来自动绑定IRQ到CPU核心上。


IRQ Balance
Irqbalance是一个linux的实用程序,它主要是用于分发中断请求到CPU核心上,有助于性能的提升。它的目的是寻求省电和性能优化之间的平衡。你可以使用yum进行安装:
# rpm -qa | grep irqbalance
irqbalance-0.55-15.el5
# yum search irqbalance
# yum install irqbalance.x86_64

启动irqbalance服务后,中断在CPU上的分布如下:
# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 950901695 0 0 0 IO-APIC-edge timer
1: 13 0 0 0 IO-APIC-edge i8042
6: 96 10989 470 0 IO-APIC-edge floppy
7: 0 0 0 0 IO-APIC-edge parport0
8: 1 0 0 0 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
12: 109 1787 0 0 IO-APIC-edge i8042
15: 99 84813914 0 0 IO-APIC-edge ide1
51: 17371 0 46689970 0 IO-APIC-level ioc0
67: 1741 0 0 225409160 PCI-MSI eth0
83: 0 0 0 0 PCI-MSI vmci
NMI: 0 0 0 0
LOC: 950902917 950903742 950901202 950901400
ERR: 0
MIS: 0

Irqbalance对于包含多个核心的系统来说是非常有用的。因为通常中断只被第一个CPU核心服务。

以上就是Linux操作系统下CPU的中断的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

Linux桌面环境介绍

Linux 代表什么意思

Linux中systemctl命令详细介绍

Linux中如何开放指定端口

如何使用共享的自定义镜像创建ecs实例或者更换实例的系统盘

适用于刚接触云计算的自行搭建网站流程

在控制台上如何将弹性网卡附加到时实例上

Linux下如何删除乱码文件的方法

关于云服务器ecs之间数据传输的实现方式

Linux中如何进入系统救援模式

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...