精華區 > 酷!學園 精華區

CPU負載不平衡

(1/3) > >>

廉價勞工:
發生好幾次 , 跑個程式讓外面電腦進來做資料交換 , 跑的時候整個速度變很慢
用top看一下發現loading都在 cpu 0 上 (環境是4核心*2 , cpu有0~7)
然後查了一下原因 cat /proc/interrupts 後如下

--- 代碼: ---           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       
  0:   11545582   36998535   37138639   37138472   37138613   37137324   37128604   37128505    IO-APIC-edge  timer
  8:         16        267        273        182        125        301        205        363    IO-APIC-edge  rtc
  9:          0          0          0          0          0          0          0          0   IO-APIC-level  acpi
 14:         19       3414    1089547       1101     659416       3520         24     660679    IO-APIC-edge  ide0
 74:          0          0          0          0          0          0          0          0   IO-APIC-level  uhci_hcd:usb1, uhci_hcd:usb3, ehci_hcd:usb4
 82:          0          0          0          0          0          0          0          0   IO-APIC-level  uhci_hcd:usb2
106:    4518023          0          0          0          0          0          0          0         PCI-MSI  eth0
114:  184896191          0          0          0          0          0          0          0         PCI-MSI  eth1
169:       2883      83712     583107     960988     598394    1377973       8029     137693   IO-APIC-level  aacraid
NMI:          0          0          0          0          0          0          0          0
LOC:  271323598  271323598  271349232  271349231  271349469  271349468  271353042  271353040
ERR:          0
MIS:          0
--- 程式碼結尾 ---


發現是因為eth0跟eth1都是cpu0在處理,而不像其他是共同負載
請問此種問題有何種解決方式?   

kernel為2.6.18-8.el5
irqbalance 有啟動

日京三子:
主機板 與 處理器 分別是?

廉價勞工:
主機板為  IBM 8853C2U
處理器為  Intel(R) Xeon(R) CPU  X5355  @ 2.66GHz

此機器為 BladeCenter HS21

日京三子:
這程式會不會是單線程的程式?  程式在編譯時有針對多核心做設定與處理嘛?

廉價勞工:
沒有,不只跑程式的時候
只要是跟網路傳輸有關的動作(例如傳送檔案)
都是只有cpu0在做處理動作
所以在eth0跟eth1的欄位,cpu1~7都是掛0

導覽

[0] 文章列表

[#] 下頁

前往完整版本