LOC中断高的原因是什么?


17

我看到了LOC中断的巨大峰值-每秒约400万,LOC中断到底是什么,什么会导致这些峰值,我该怎么办?

这是一个穆宁图,说明了这些峰值:

                    中断图

这是同期的CPU图,显示了它是如何完全接管的。我喜欢这种颜色如何使服务器在这些时间段似乎着火了...

                    CPU图

这是运行Ubuntu 8.04的双四核Xeon服务器。报告的内核版本uname是2.6.24-24-server。

这是/ proc / interrupts的内容

           CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
  0:6930 6762 6633 6841 6760 6863 6692 6809 IO-APIC边沿计时器
  1:0 0 0 0 0 1 1 0 IO-APIC边缘i8042
  8:3 2 4 3 7 5 6 3 IO-APIC-edge rtc
  9:0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi
 12:1 0 0 1 0 0 1 1 IO-APIC边缘i8042
 14:22 20 22 24 27 24 25 15 IO-APIC边缘库
 15:0 0 0 0 0 0 0 0 IO-APIC边缘库
 16:50766012 50843554 50824664 50759980 50720894 50854422 50808772 50787944 IO-APIC-fasteoi ioc0
 17:2551207 2584434 2572429 2564703 2546844 2593218 2574248 2563553 IO-APIC-fasteoi uhci_hcd:usb1,uhci_hcd:usb3,ehci_hcd:usb5
 18:24 21 28 26 32 30 32 27 IO-APIC-fasteoi uhci_hcd:usb2,uhci_hcd:usb4
214:978184354 978071466 978101515 978177161 978237290 978053391 978115491 978147157 PCI-MSI-edge eth0
NMI:0 0 0 0 0 0 0 0不可屏蔽中断
LOC:260770889 233105051 191904989 121472332 107472778 118895615 157741363 115713984本地计时器中断
RES:767265318 1003071645 432052982 199027537 114757970 128486722 221935258 141439861重新安排中断
CAL:32376 26205 32414 26355 32453 26425 32399 26335函数调用中断
TLB:532501 5240763 5025455 4999356 4944090 5044423 5050813 5004620 TLB击落
TRM:0 0 0 0 0 0 0 0热事件中断
SPU:0 0 0 0 0 0 0 0虚假中断
错误:0
MIS:0

参考文献

原始图片

Answers:


12

这是管理多CPU线程的过程。请参阅Linux中的SMP Affinity和适当的中断处理以获取有关如何降低中断的答案,但基本上,它是系统处理屏蔽中断的方式,这是由于CPU需要馈入更多线程流或内存而导致的,并且仅CPU0能够处理中断。

值越高,系统进行线程处理的效果越好,这是一件好事。


1
+1,感谢您的链接。我应该担心我的CPU活动图在这些峰值期间似乎显示几乎为零的“用户”活动吗?
保罗·迪克森

即使用户活动为0,中断也一直在系统上发生。只是处理内存的过程需要很多NMI(不可屏蔽的中断),所以一切都很好。
斯蒂芬·汤普森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.