公司新上了一个8核的cpu,上面用xen虚拟了2个Windows。
但是通过各种配置,还是无法平衡cpu的压力。
大多都压在第一个cpu上。
下面是top的数据
Cpu0 : 20.6%us, 65.7%sy, 0.0%ni, 13.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni, 96.2%id, 0.0%wa, 0.0%hi, 0.0%si, 3.8%st
Cpu2 : 1.0%us, 0.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 0.0%us, 0.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 1.0%st
Cpu4 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu5 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu6 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu7 : 1.0%us, 6.9%sy, 0.0%ni, 91.2%id, 0.0%wa, 0.0%hi, 0.0%si, 1.0%st
已经做了cpu和vcpu的绑定,但是效果不好
Name ID VCPUs CPU State Time(s) CPU Affinity
Domain2 28 0 6 r-- 2337.3 4-7
Domain2 28 1 4 r-- 2400.6 4-7
Domain2 28 2 5 r-- 2312.0 4-7
导致Windows断网等各种怪问题。
看看系统上的中断是怎么分配在 CPU 上的,很显然 CPU0 上处理的中断多一些:
CPU0 CPU1
0: 918926335 0 IO-APIC-edge timer
1: 2 0 IO-APIC-edge i8042
8: 0 0 IO-APIC-edge rtc
9: 0 0 IO-APIC-level acpi
12: 4 0 IO-APIC-edge i8042
14: 8248017 0 IO-APIC-edge ide0
50: 194 0 IO-APIC-level ohci_hcd:usb2
58: 31673 0 IO-APIC-level sata_nv
90: 1070374 0 PCI-MSI eth0
233: 10 0 IO-APIC-level ehci_hcd:usb1
NMI: 5077 2032
LOC: 918809969 918809894
ERR: 0
MIS: 0