我有一个四核,我在munin (监视中断和上下文切换)上发现,我的中断和上下文开关每秒高达25k,而平均有一段时间是250。
不知道发生了什么,也不知道这意味着什么,只是根据我的监测工具,这是一个异常现象。
这发生在我的一个openVZ虚拟容器中。
注意:同时,负载增加到2.5,CPU使用率在110%的系统,15%的用户和100%的IOwait。
我已将/proc/中断的输出附加在主机上。
CPU0 CPU1 CPU2 CPU3
0: 48039108 56660082 56431151 51696624 IO-APIC-edge timer
1: 0 3 0 0 IO-APIC-edge i8042
4: 4 4 1 3 IO-APIC-edge serial
8: 1 0 0 0 IO-APIC-edge rtc
9: 0 0 0 0 IO-APIC-level acpi
12: 4 0 0 0 IO-APIC-edge i8042
50: 15 16 16 16 IO-APIC-level ata_piix
66: 11113 0 0 56276172 PCI-MSI eth0
169: 12839820 4849263 1080 1167 IO-APIC-level ioc0
225: 6 7 5 5 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb4
233: 0 0 0 0 IO-APIC-level uhci_hcd:usb3
NMI: 17173 16340 16694 17306
LOC: 214221117 214220936 214196385 214196306
ERR: 0
MIS: 0发布于 2010-01-08 19:38:25
这将是一个多线程应用程序做了很多锁定。每次它锁定时,CPU将抢占它的量程,并允许另一个线程运行。您可以编写M/T应用程序,它们花费所有时间在线程之间晃动,而这些应用程序都没有完成任何有用的工作,而且由于它们导致了所有这些上下文切换,CPU花在切换线程上的时间比线程本身要花的时间还要多。
看看在这些高峰期间,应用程序的CPU使用率是否会出现尖峰。
发布于 2010-01-09 13:53:05
这可能是监测系统产生的一个数值伪影,由很短的时间切片造成。也许这只是你在这里看到的抽样效果。
发布于 2009-10-08 00:29:08
可能是linux (CONFIG_HZ)被设置为以250 at的频率定期触发吗?检查内核配置文件。还有其他频率可供选择。
https://serverfault.com/questions/72337
复制相似问题