码迷,mamicode.com
首页 > 其他好文 > 详细

IRQ的使用

时间:2015-01-08 07:18:35      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:linux优化

下面是一台服务器的top后的cpu状态:

技术分享    si的意思是system interrupt,也就是系统层面的软中断。也就是说一颗cpu接受一个软件的请求时,需要放弃其他正在处理的工作,这么一切换就是软中断。默认情况下,程序都会使用第一颗CPU,所以会造成第一颗CPU的si较大,而其他核心的si较小,这也就完全失去了服务器多核cpu的意义。所以有时我们需要手动设置程序使用哪颗CPU。但是和nginx可以手动绑定使用哪颗cpu是不同的,因为那种绑定是尽量使用指定的cpu核心,避免si,***能,此时,此颗CPU的idle值很小。而这里指的是避免程序使用一颗CPU。

    linux的si可以在/proc/interrupt中看到:

技术分享

他们的意义如下:

IRQ编号、各个程序再对应cpu核心上发生的si次数、可编程中断控制器、程序名(也叫做设备)


    IRQ全称为Interrupt Request,即是“中断请求”的意思,也就是程序请求CPU处理自己的请求。各个程序(设备)都有自己对应的的IRQ编号,这个IRQ编号在/proc/irq目录中,每个数字和程序名字的对应关系如上图。


    对于有着高并发场景的服务器来说,网卡对cpu的占用也是相当高的,所以如果让其占用一个cpu核心那么不仅会影响系统性能,而且也会影响





 

    在每台电脑的系统中,是由一个中断控制器8259或是8259A的芯片(现在此芯片大都集成到其它的芯片内)来控制系统中每个硬件的中断控制。目前共有16组IRQ,去掉其中用来作桥接的一组IRQ,实际上只有15组IRQ可供硬件调用。


本文出自 “Go right on” 博客,请务必保留此出处http://caduke.blog.51cto.com/3365689/1600379

IRQ的使用

标签:linux优化

原文地址:http://caduke.blog.51cto.com/3365689/1600379

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!