多cpu负载均衡问题!!

发布于 2022-07-23 01:06:03 字数 2781 浏览 13 评论 6

前几天通过定制kernel-2.6.9-34.EL.src.rpm生成i686的源码,编译运行后发现cpu的负载很不均衡:
在高流量的情况下,通过top命令显示ksoftirqd/0负载占到70%,但其他ksoftirqd/1,ksoftirqd/2,ksoftirqd/3不会有任何负载。请各位高手多多指教。
# cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3      
  0:     3242773          0          0          0    IO-APIC-edge  timer
  1:          9          0          0          0    IO-APIC-edge  i8042
  3:          5          0          0          0    IO-APIC-edge  serial
  4:         83          0          0          0    IO-APIC-edge  serial
  8:          0          0          0          0    IO-APIC-edge  rtc
  9:          0          0          0          0   IO-APIC-level  acpi
14:         13          0          0          0    IO-APIC-edge  ide0
185:       189670          0          0          0   IO-APIC-level  eth1
209:       186460          0          0          0   IO-APIC-level  eth0
NMI:          0          0          0          0
LOC:     320712     320661     320665     320664
ERR:          0
MIS:          0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

夏至、离别 2022-07-23 17:56:52

>而且对于softirq来说,它们是属于一个特殊情况,在linux中的策略是谁触发谁执行。所以它们并不会被迁移。
對,這一點我忘了,多謝提醒!

陌伤ぢ 2022-07-23 17:22:34

谢谢,各位。我再查查中断是如何向各个cpu的分发。

久光 2022-07-23 16:03:08

这个根本不是什么负载均衡的问题,ksoftirq/0它是做一个具体任务的,因为它的任务繁忙,所以它需要很多CPU,而ksoftirq/1这些软中断,是做其它任务的,由于它们没有事可做,所以不需要CPU。

负载均衡是对于各个CPU上的任务来说的,如果一个CPU上有10个任务,而某个CPU上却在执行idel,这是就要从繁忙CPU上迁移几个任务到空闲的CPU上。

如果有两个CPU,其中一个在不停地执行ksoftirq/0,而另外一个CPU没有任务,由于第一个CPU并没有其它任务,所以也不可能有任务迁移。

而且对于softirq来说,它们是属于一个特殊情况,在linux中的策略是谁触发谁执行。所以它们并不会被迁移。

好好看看linux调度,我觉得楼主对负载均衡的概念还没搞清楚,均衡的对象是什么都不知道,当然无法理解这些东西。

断爱 2022-07-23 15:04:46

中断向各个cpu的分发, 有个irq affinity 和irq balance机制, 只记得ULK2上讲过, 都忘了。

任务的负载均衡, 是调度程序做的, 那些migration/x线程, 就是用来把任务从一个cpu迁移到另一个cpu上的。  具体到底是何种情况会触发迁移行为, 偶不懂, 知道的兄弟说一说吧!

一生独一 2022-07-23 07:33:58

是的,他们都在。跟这个有什么关系吗?

醉态萌生 2022-07-23 03:07:53

这个是中断情况, 不是任务负载; 你看migration/x这些内核线程在吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文