首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法更新smp_affinity

无法更新smp_affinity
EN

Server Fault用户
提问于 2013-10-03 15:03:11
回答 1查看 1.4K关注 0票数 2

作为我们正在运行以优化Linux机器上应用程序性能的实验的一部分,我们试图将所有网络中断分配给一个cpu核心。

不幸的是,它似乎并没有按照它应有的方式工作。我们在这里有一个插话:

代码语言:javascript
复制
[root@shou18librh05 ~]# cat /proc/interrupts | grep 107
107:          0          0          0          0          0          0              0          0       PCI-MSI-X  eth-mlx4-0

目前在哪里处理?

代码语言:javascript
复制
[root@shou18librh05 ~]# cat /proc/irq/107/smp_affinity
7fffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff

试着把它移到,比如说,第一个核心:

代码语言:javascript
复制
[root@shou18librh05 ~]# echo 1 > /proc/irq/107/smp_affinity

它动了吗?

代码语言:javascript
复制
[root@shou18librh05 ~]# cat /proc/irq/107/smp_affinity
7fffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff,ffffffff

不..。

有人知道为什么会发生这种事吗?谷歌没有给出任何明显的解决方案/暗示.

Linux是:

代码语言:javascript
复制
[root@shou18librh05 ~]# uname -a
Linux shou18librh05 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
EN

回答 1

Server Fault用户

发布于 2015-12-11 15:41:36

很可能您的系统上有一些禁用的设备已经使用了CPU1的中断向量空间,特别是由于这些设备还没有启用,它们的中断号没有出现在/proc/中断中。irq到cpu矢量分配是在内核的APIC中完成的。

如果它对你有用,请试一试:

  1. 识别任何尚未连接但尚未启用的设备,
  2. 启用它们,用于例如: ifup (用于接口)
  3. 它们的int号应该出现在/proc/中断中。
  4. 尝试并分配所有cpus,但1分配给所有中断。
  5. 然后,尝试将CPU1分配给您喜欢的中断。但是,请记住每个CPU的is向量空间限制,因此它们应该是可以由特定CPU服务的最大中断数。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/543593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档