- 论坛徽章:
- 0
|
原帖由 思一克 于 2007-6-29 19:33 发表于 21楼
首先,运行irqbalance, 确保CPU中断的分配基本平衡(cat /proc/interrupts可看),然后再研究LOAD的平衡问题.
我是手动将/proc/irq/<ID>/smp_affinity中的值改为全1, 之后还是不行.
而且发现这个/proc/irq/目录下面的smp_affinity中的值除了几个中断号之后,其它的全都是只有一位为1. 其余位全为0.
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 23432940 23447916 23446701 23445441 23445463 23445286 23445460 23445256 IO-APIC-edge timer
8: 0 0 1 0 0 0 1 1 IO-APIC-edge rtc
9: 0 0 0 0 0 0 0 0 IO-APIC-level acpi
14: 0 0 0 0 0 0 0 0 IO-APIC-edge libata
15: 18 3358877 19 839610 839918 21 24 1679740 IO-APIC-edge ide1
98: 15 18 21 11 5 15 15 18 IO-APIC-level uhci_hcd:usb1, uhci_hcd:usb3, ehci_hcd:usb5
106: 0 0 0 0 0 0 0 0 IO-APIC-level uhci_hcd:usb2, uhci_hcd:usb4
122: 2573686 0 0 0 0 0 0 0 PCI-MSI eth1
177: 3662 50581 1355 58219 45692 1435 1328 24886 IO-APIC-level aacraid
NMI: 0 0 0 0 0 0 0 0
LOC: 187551733 187551731 187555704 187555703 187554928 187554927 187555782 187555658
ERR: 0
MIS: 0
而此时每个CPU上面的ksoftirqd的这个线程都运行着的. 但是对于某些中断, 仍然是不能很好地进行平均分配. |
|