首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使IRQ SMP亲和力永久改变

使IRQ SMP亲和力永久改变
EN

Unix & Linux用户
提问于 2013-03-22 16:15:12
回答 3查看 8.4K关注 0票数 6

我必须永久地更改中断的smp_affinity。当服务器重新启动时,需要执行以下代码:

代码语言:javascript
复制
echo "1" > /proc/irq/152/smp_affinity_list
echo "2" > /proc/irq/151/smp_affinity_list
echo "3" > /proc/irq/150/smp_affinity_list
echo "4" > /proc/irq/149/smp_affinity_list
echo "5" > /proc/irq/148/smp_affinity_list
echo "6" > /proc/irq/147/smp_affinity_list
echo "7" > /proc/irq/146/smp_affinity_list
echo "8" > /proc/irq/145/smp_affinity_list
echo "9" > /proc/irq/144/smp_affinity_list
echo "10" > /proc/irq/143/smp_affinity_list
echo "11" > /proc/irq/142/smp_affinity_list
echo "12" > /proc/irq/141/smp_affinity_list
echo "13" > /proc/irq/140/smp_affinity_list
echo "14" > /proc/irq/139/smp_affinity_list
echo "15" > /proc/irq/138/smp_affinity_list
echo "16" > /proc/irq/137/smp_affinity_list

我已经将这些行添加到/etc/rc.local文件中,但这些更改并未应用于系统。我还添加了echo "test“> /root/test,这样就可以正确执行rc.local文件了。系统运行Debian6.0。

EN

回答 3

Unix & Linux用户

发布于 2013-05-22 13:05:28

rc.local脚本应该是引导时执行的最后一个脚本。让我们假设它在您的系统中没有作为最后一个运行,那么它可能在安装/proc之前就运行得太早了。或者,如果smp_affinity_list由运行rc.local时仍未加载的内核模块管理,则模块内核上可能会出现问题。

因此,只需更改rc.local并在回显之前检查是否存在/proc/irq/*/smp_affinity_list。否则,sleep会持续一段时间,然后再试一次,并最终通过logger命令发出错误消息,这样您就可以在/var/log/syslog中读取它。

票数 1
EN

Unix & Linux用户

发布于 2013-12-09 23:13:08

您可能在启动期间加载irqbalance服务,这将重置在启动时运行的任何内容。这篇文章解释了如何停止irqbalance服务:

代码语言:javascript
复制
service --status-all
chkconfig --list | grep '3:on'
chkconfig irqbalance off
service irqbalance stop

然后将其从引导运行级别中删除,以便在启动时不会重新启动:

代码语言:javascript
复制
update-rc.d -f irqbalance remove <-- removes from boot process
票数 1
EN

Unix & Linux用户

发布于 2015-11-10 00:14:05

我也有同样的问题。你需要:

1)构建irqbalance的最新版本。旧版本(通过Ubuntu 15.10!)是错误的,忽略--banirq选项。

2)编辑/etc/default/irqbalance/etc/init/irqbalance.conf以添加--banirq=<num>

3)将重写添加到/etc/rc.local中。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/68812

复制
相关文章

相似问题

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