linux 中断程序设计,linux – CPU0被eth1中断淹没
我有一个Ubuntu VM,在基于Ubuntu的Xen XCP中运行.它在Nginx后面托管了一个基于FCGI的自定义HTTP服务.
在来自ab的负载下,第一个cpu内核饱和,其余的负载不足.
在/ proc / interrupts中,我看到cpu0比其他任何内核服务的中断数量级更多.他们大多数来自eth1.
我可以做些什么来提高这个VM的性能?有没有办法更均匀地平衡中断?
血腥细节:
$uname -a
Linux MYHOST 2.6.38-15-virtual #59-Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU/Linux
$lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 11.04
Release: 11.04
Codename: natty
$cat /proc/interrupts
cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7
283: 113720624 0 0 0 0 0 0 0 xen-dyn-event eth1
284: 1 0 0 0 0 0 0 0 xen-dyn-event eth0
285: 2254 0 0 3873799 0 0 0 0 xen-dyn-event blkif
286: 23 0 0 0 0 0 0 0 xen-dyn-event hvc_console
287: 492 42 0 0 0 0 0 295324 xen-dyn-event xenbus
288: 0 0 0 0 0 0 0 222294 xen-percpu-ipi callfuncsingle7
289: 0 0 0 0 0 0 0 0 xen-percpu-virq debug7
290: 0 0 0 0 0 0 0 151302 xen-percpu-ipi callfunc7
291: 0 0 0 0 0 0 0 3236015 xen-percpu-ipi resched7
292: 0 0 0 0 0 0 0 60064 xen-percpu-ipi spinlock7
293: 0 0 0 0 0 0 0 12355510 xen-percpu-virq timer7
294: 0 0 0 0 0 0 803174 0 xen-percpu-ipi callfuncsingle6
295: 0 0 0 0 0 0 0 0 xen-percpu-virq debug6
296: 0 0 0 0 0 0 60027 0 xen-percpu-ipi callfunc6
297: 0 0 0 0 0 0 5374762 0 xen-percpu-ipi resched6
298: 0 0 0 0 0 0 64976 0 xen-percpu-ipi spinlock6
299: 0 0 0 0 0 0 15294870 0 xen-percpu-virq timer6
300: 0 0 0 0 0 264441 0 0 xen-percpu-ipi callfuncsingle5
301: 0 0 0 0 0 0 0 0 xen-percpu-virq debug5
302: 0 0 0 0 0 79324 0 0 xen-percpu-ipi callfunc5
303: 0 0 0 0 0 3468144 0 0 xen-percpu-ipi resched5
304: 0 0 0 0 0 66269 0 0 xen-percpu-ipi spinlock5
305: 0 0 0 0 0 12778464 0 0 xen-percpu-virq timer5
306: 0 0 0 0 844591 0 0 0 xen-percpu-ipi callfuncsingle4
307: 0 0 0 0 0 0 0 0 xen-percpu-virq debug4
308: 0 0 0 0 75293 0 0 0 xen-percpu-ipi callfunc4
309: 0 0 0 0 3482146 0 0 0 xen-percpu-ipi resched4
310: 0 0 0 0 79312 0 0 0 xen-percpu-ipi spinlock4
311: 0 0 0 0 21642424 0 0 0 xen-percpu-virq timer4
312: 0 0 0 449141 0 0 0 0 xen-percpu-ipi callfuncsingle3
313: 0 0 0 0 0 0 0 0 xen-percpu-virq debug3
314: 0 0 0 95405 0 0 0 0 xen-percpu-ipi callfunc3
315: 0 0 0 3802992 0 0 0 0 xen-percpu-ipi resched3
316: 0 0 0 76607 0 0 0 0 xen-percpu-ipi spinlock3
317: 0 0 0 16439729 0 0 0 0 xen-percpu-virq timer3
318: 0 0 876383 0 0 0 0 0 xen-percpu-ipi callfuncsingle2
319: 0 0 0 0 0 0 0 0 xen-percpu-virq debug2
320: 0 0 76416 0 0 0 0 0 xen-percpu-ipi callfunc2
321: 0 0 3422476 0 0 0 0 0 xen-percpu-ipi resched2
322: 0 0 69217 0 0 0 0 0 xen-percpu-ipi spinlock2
323: 0 0 10247182 0 0 0 0 0 xen-percpu-virq timer2
324: 0 393514 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle1
325: 0 0 0 0 0 0 0 0 xen-percpu-virq debug1
326: 0 95773 0 0 0 0 0 0 xen-percpu-ipi callfunc1
327: 0 3551629 0 0 0 0 0 0 xen-percpu-ipi resched1
328: 0 77823 0 0 0 0 0 0 xen-percpu-ipi spinlock1
329: 0 13784021 0 0 0 0 0 0 xen-percpu-virq timer1
330: 730435 0 0 0 0 0 0 0 xen-percpu-ipi callfuncsingle0
331: 0 0 0 0 0 0 0 0 xen-percpu-virq debug0
332: 39649 0 0 0 0 0 0 0 xen-percpu-ipi callfunc0
333: 3607120 0 0 0 0 0 0 0 xen-percpu-ipi resched0
334: 348740 0 0 0 0 0 0 0 xen-percpu-ipi spinlock0
335: 89912004 0 0 0 0 0 0 0 xen-percpu-virq timer0
NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts
LOC: 0 0 0 0 0 0 0 0 Local timer interrupts
SPU: 0 0 0 0 0 0 0 0 SpurIoUs interrupts
PMI: 0 0 0 0 0 0 0 0 Performance monitoring interrupts
IWI: 0 0 0 0 0 0 0 0 IRQ work interrupts
RES: 3607120 3551629 3422476 3802992 3482146 3468144 5374762 3236015 Rescheduling interrupts
CAL: 770084 489287 952799 544546 919884 343765 863201 373596 Function call interrupts
TLB: 0 0 0 0 0 0 0 0 TLB shootdowns
TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 0 0 0 0 Machine check exceptions
MCP: 0 0 0 0 0 0 0 0 Machine check polls
ERR: 0
MIS: 0
linux 中断程序设计,linux – CPU0被eth1中断淹没相关推荐
- linux 中断程序设计,Linux中断编程
Linux实现底半部机制主要有tasklet,工作队列和软中断. 1.tasklet tasklet的使用较简单,我们只需要定义tasklet及其处理函数并将两者关联.使用模版如下: /*定义task ...
- 多核程序设计 linux,多核程序设计Linux多线程编程.ppt
Linux多线程编程,IEEE POSIX 标准 p1003.1c (Pthreads) 定义了处理线程的一系列C 语言类型的API. 在Linux中,线程一般被认为是"轻量级的进程&quo ...
- linux logo程序设计,Linux Logo 制作
ubuntu下转换PPM: sudo get-apt install netpbm bmp图片使用bmptoppm.jpg,png,gif都有相应的topnm工具. $bmptoppm pic.bmp ...
- Linux操作系统原理与应用05:中断和异常
目录 1. 中断概述 1.1 什么是中断 1.2 为什么引入中断 1.3 中断的分类 1.4 CPU什么时候响应中断 2. 中断控制器简介 2.1 中断的C/S模型结构 2.2 作为中介的中断控制器 ...
- linux块设备驱动中断程序,linux设备驱动归纳总结(六):1.中断的实现
linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- Linux性能优化(十六)——中断绑定
一.中断绑定简介 1.中断简介 计算机中,中断是一种电信号,由硬件产生并直接送到中断控制器上,再由中断控制器向CPU发送中断信号,CPU检测到信号后,中断当前工作转而处理中断信号.CPU会通知操作系统 ...
- 嵌入式linux 添加中断,《嵌入式linux应用程序开发完全手册》中断控制器操作(外部中断)学习笔记...
<嵌入式linux应用程序开发完全手册>中断控制器操作(外部中断)学习笔记 一.ARM中断体系 当一个"异常"发生时,或者说当收到一个中断触发信号时,ARM9将会自动完 ...
- linux进程被中断打断,linux – 当中断处理程序被另一个中断中断时,中断上下文如何“恢复”?...
我读了一些相关的帖子: You cannot sleep in an interrupt handler because interrupts do not have a backing proces ...
- linux 关中断 调度,关中断是否禁止任务调度?关中断能作为互斥吗?
正 文 关中断是否禁止任务调度?关中断能作为互斥吗?(2008/11/25 21:36) 今天再看<嵌入式软件系统教程>((美)西蒙 著,陈向群 等译) ,里面讲到关中断会关了任务调度, ...
- 【Linux开发】linux设备驱动归纳总结(六):3.中断的上半部和下半部——tasklet...
linux设备驱动归纳总结(六):3.中断的上半部和下半部--tasklet xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
最新文章
- 关于学习Mongodb的几篇文章
- 数据库系统概念总结:第七章 数据库设计和E-R模型
- vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
- java-网络编程篇
- MyBatis 实际使用案例-typeHandlers【重点】
- 项目经理需要的思维批判
- c语言bellman算法,求 最短路径中BELLMAN FORD算法实现的C程序
- Dos批处理编程常用命令
- java-jdk7新特性
- Head First 设计模式--1策略模式 组合优于继承
- 月薪20+的Android面试都问这些问题(含答案)
- 小程序开发 js里面array操作的方法列表。
- 显示分类对应的文章数目,为空的设置为0,按文章数目排序
- VS2013的C# Winform怎么添加Windows Media Player控件 详细图解 代码示例及运行效果
- 管家婆财贸双全 凭证记账 Date exceeds maximum of 19-12-31 报错解决办法
- Win10触摸板手势及技巧
- 14----统计字符数
- Cocos2d-x 3.2键盘操控列表页的初步实现
- centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息
- nginx 做均衡负载