Linux 中断问题

Linux 中断问题

有没有简单的方法可以确定中断是否是性能问题?我从 cat /proc/interrupts 中得到以下内容,但实际上没有此服务器的历史记录,所以我不知道这是否会导致任何问题。我在以下位置找到了每列的定义http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-proc-interrupts.html 但似乎没有找到任何关于结果是否可以接受的指导。

       CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
 0: 1408788887          0          0          0          0          0          0          0    IO-APIC-edge  timer
 1:          3          0          0          0          0          0          0          0    IO-APIC-edge  i8042
 8:          1          0          0          0          0          0          0          0    IO-APIC-edge  rtc
 9:          0          0          0          0          0          0          0          0   IO-APIC-level  acpi
12:          4          0          0          0          0          0          0          0    IO-APIC-edge  i8042
14:        476   92736034  560949599   89233642          0          0          0          0    IO-APIC-edge  ide0
66:         81          0          0          0          0          0          0          0   IO-APIC-level  ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb4
74:        153   62468419  147960075   25257462          0          0          0          0   IO-APIC-level  uhci_hcd:usb3, uhci_hcd:usb5
82: 1054378386          0          0          0          0          0          0          0         PCI-MSI  eth0
169:       8343 1516025027  954152248    6501060          0  757271678 1872714173    2565826   IO-APIC-level  megasas
NMI:   28336831   18526902   35866900   13915052   25165724   26928152   21827791   19303613
LOC: 1408788527 1408756844 1408788059 1408788084 1408788124 1408787843 1408787972 1408787711
ERR:          0
MIS:          0

答案1

您遇到的最高中断数平均仍为:

1872714173 interrupts / 83014987.85 seconds = 23 intr/s

这并不可怕。就目前而言,这些统计数据完全可以接受。在繁忙的系统上,7500 intr/s 的峰值也是可以接受的。

无论是什么原因导致您得出中断是相关指标的结论,我都会退一步重新考虑。这些通常是问题(完全不同的问题)的结果,而不是问题的唯一原因。唯一想到的情况是总线上的一些恶意设备。

如果您有sar报告,请寻找在性能不佳时达到峰值的其他指标(运行队列?分页?磁盘 I/O?)并从那里重新开始分析。

答案2

中断问题是系统 CPU 使用率高的原因之一,如果您在 mpstat 输出中没有看到较高的 %irq 值,那就没问题。

如果您担心中断在 CPU 之间分布不均匀,则需要启用 irqbalance 守护进程或通过 /proc/irq/*/smp_affinity 手动调整它

更多关于: http://honglus.blogspot.com/2010/01/troubleshooting-high-system-cpu-usage.html http://honglus.blogspot.com/2011/03/tune-interrupt-and-process-cpu-affinity.html

答案3

您应该启用irqbalance守护程序来帮助将定时器中断分配到服务器上的可用 CPU 上。/sbin/service irqbalance start稍后运行并检查系统。

相关内容