从顶部和 iostat 输出来看,系统和软中断项目似乎存在一些问题。
1-您认为这仅由以太网中断引起吗?
2- 我在该服务器上运行了 60 Mbps 流量的 netfilter。如何查看 netfilter 和其他内核模块使用了多少 %system?
3- 有时,系统会因 OOM 情况而挂起。但是根据 sar 输出,此时系统有大量可用内存。较高的 %system 和 %idle 是否会导致内核无法访问内存?
avg-cpu: %user %nice %system %iowait %steal %idle
34.17 0.00 50.25 0.00 0.00 15.58
Cpu0 : 37.5%us, 18.8%sy, 0.0%ni, 6.2%id, 0.0%wa, 0.0%hi, 37.5%si, 0.0%st
Cpu1 : 33.3%us, 44.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 22.2%si, 0.0%st
cat /proc/interrupts Thu Jul 28 11:55:11 2011
CPU0 CPU1
0: 136049409 43332 IO-APIC-edge timer
1: 1 1 IO-APIC-edge i8042
4: 5 7 IO-APIC-edge serial
7: 0 0 IO-APIC-edge parport0
8: 2 1 IO-APIC-edge rtc
9: 0 0 IO-APIC-level acpi
12: 2 2 IO-APIC-edge i8042
50: 0 0 IO-APIC-level uhci_hcd:usb4
58: 0 0 IO-APIC-level uhci_hcd:usb7
66: 80860 4360213 PCI-MSI ahci
74: 1698104 274488209 IO-APIC-level eth1
98: 157341956 3131716 PCI-MSI eth4
106: 92 95 IO-APIC-level HDA Intel
169: 0 0 IO-APIC-level uhci_hcd:usb3
225: 0 0 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb
答案1
1-您说的“以太网中断”是什么意思?
2- 几乎完全相同的方法:
$ echo "$(cat /proc/`pidof iptables`/stat | awk '{ print $15 }') * 100 / $(cat /proc/stat | awk '/cpu / { print $4 }')" | bc -l
查看man proc
更多详细信息。
3- 找出哪个进程正在消耗你的RAM:
$ ps -eo pmem,pid,comm | sort -k1rn | head
或者atop
,htop
, ...