Linux 上 %system 和 %si CPU 时间过长

Linux 上 %system 和 %si CPU 时间过长

从顶部和 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

或者atophtop, ...

相关内容