我有一个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中断淹没相关推荐

  1. linux 中断程序设计,Linux中断编程

    Linux实现底半部机制主要有tasklet,工作队列和软中断. 1.tasklet tasklet的使用较简单,我们只需要定义tasklet及其处理函数并将两者关联.使用模版如下: /*定义task ...

  2. 多核程序设计 linux,多核程序设计Linux多线程编程.ppt

    Linux多线程编程,IEEE POSIX 标准 p1003.1c (Pthreads) 定义了处理线程的一系列C 语言类型的API. 在Linux中,线程一般被认为是"轻量级的进程&quo ...

  3. linux logo程序设计,Linux Logo 制作

    ubuntu下转换PPM: sudo get-apt install netpbm bmp图片使用bmptoppm.jpg,png,gif都有相应的topnm工具. $bmptoppm pic.bmp ...

  4. Linux操作系统原理与应用05:中断和异常

    目录 1. 中断概述 1.1 什么是中断 1.2 为什么引入中断 1.3 中断的分类 1.4 CPU什么时候响应中断 2. 中断控制器简介 2.1 中断的C/S模型结构 2.2 作为中介的中断控制器 ...

  5. linux块设备驱动中断程序,linux设备驱动归纳总结(六):1.中断的实现

    linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

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

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

  7. 嵌入式linux 添加中断,《嵌入式linux应用程序开发完全手册》中断控制器操作(外部中断)学习笔记...

    <嵌入式linux应用程序开发完全手册>中断控制器操作(外部中断)学习笔记 一.ARM中断体系 当一个"异常"发生时,或者说当收到一个中断触发信号时,ARM9将会自动完 ...

  8. linux进程被中断打断,linux – 当中断处理程序被另一个中断中断时,中断上下文如何“恢复”?...

    我读了一些相关的帖子: You cannot sleep in an interrupt handler because interrupts do not have a backing proces ...

  9. linux 关中断 调度,关中断是否禁止任务调度?关中断能作为互斥吗?

    正 文 关中断是否禁止任务调度?关中断能作为互斥吗?(2008/11/25 21:36) 今天再看<嵌入式软件系统教程>((美)西蒙 著,陈向群 等译)  ,里面讲到关中断会关了任务调度, ...

  10. 【Linux开发】linux设备驱动归纳总结(六):3.中断的上半部和下半部——tasklet...

    linux设备驱动归纳总结(六):3.中断的上半部和下半部--tasklet xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

最新文章

  1. 关于学习Mongodb的几篇文章
  2. 数据库系统概念总结:第七章 数据库设计和E-R模型
  3. vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍
  4. java-网络编程篇
  5. MyBatis 实际使用案例-typeHandlers【重点】
  6. 项目经理需要的思维批判
  7. c语言bellman算法,求 最短路径中BELLMAN FORD算法实现的C程序
  8. Dos批处理编程常用命令
  9. java-jdk7新特性
  10. Head First 设计模式--1策略模式 组合优于继承
  11. 月薪20+的Android面试都问这些问题(含答案)
  12. 小程序开发 js里面array操作的方法列表。
  13. 显示分类对应的文章数目,为空的设置为0,按文章数目排序
  14. VS2013的C# Winform怎么添加Windows Media Player控件 详细图解 代码示例及运行效果
  15. 管家婆财贸双全 凭证记账 Date exceeds maximum of 19-12-31 报错解决办法
  16. Win10触摸板手势及技巧
  17. 14----统计字符数
  18. Cocos2d-x 3.2键盘操控列表页的初步实现
  19. centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息
  20. nginx 做均衡负载

热门文章

  1. ctguoj-取石头 (15分)
  2. 51nod1433--简单数学
  3. php结构的项目,ThinkPHP修改项目结构
  4. win8/10上的应用程序怎样以兼容模式运行?
  5. mysql 按照汉字的拼音排序、按照首字母分类
  6. 什么是 Elasticsearch?一篇搞懂
  7. 测试过程中常用的linux命令之【删除指定的文件行】
  8. BZOJ 3192: [JLOI2013]删除物品 奇淫技巧树状数组
  9. python 序列化之JSON和pickle详解
  10. 基础才是重中之重~对象的生与死