linux查看中断绑定在哪个cpu

linux查看中断绑定在哪个cpu,第1张

cpuset 允许把所有进程echo到一个cpuset目录中,与指定的cpu绑定。 The following script which is a starting point for investigating willmove all the processes to a specific cpuset with one cpu. if [ ! -d /sys/fs/cgroup ]then echo...

在多 CPU 的环境中,还有一个中断平衡的问题,比如,网卡中断会教给哪个 CPU 处理,这个参数控制哪些 CPU 可以绑定 IRQ 中断。其中的 {number} 是对应设备的中断编号,可以用下面的命令找出: cat /proc/interrupt 比如,一般 eth0 的 IRQ

cpuset 允许把所有进程echo到一个cpuset目录中,与指定的cpu绑定。

The following script which is a starting point for investigating willmove all the processes to a specific cpuset with one cpu.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

if [ ! -d /sys/fs/cgroup ]then

echo "cgroup not supported by the kernel"

else

mkdir /sys/fs/cgroup/cpuset

mount -t cgroup -ocpuset cpuset /sys/fs/cgroup/cpuset

echo 1 >/sys/fs/cgroup/cpuset/cgroup.clone_children

mkdir /sys/fs/cgroup/cpuset/cpu0

mkdir /sys/fs/cgroup/cpuset/cpu1

# assign a cpu for cgroup cpu0

echo 0 >/sys/fs/cgroup/cpuset/cpu0/cpuset.cpus

# move outself to this new cgroup

echo $$ >/sys/fs/cgroup/cpuset/cpu0/tasks

for i in $(cat /sys/fs/cgroup/cpuset/tasks)do

echo $i >/sys/fs/cgroup/cpuset/cpu0/tasks || echo "failed to add pid $i/$(cat /proc/$i/comm)"

done

# assign a cpu for cgroup cpu1

echo 1 >/sys/fs/cgroup/cpuset/cpu1/cpuset.cpus

# make cpu1 exclusive so processes belonging

# to the other cgroup won't use it

echo 1 >/sys/fs/cgroup/cpuset/cpu1/cpuset.cpu_exclusive

fi

把系统中的进程与CPU0绑定,然后把CPU1设置 exclusive属性,这样其它cgroup不会使用这个CPU。

开启stress压力测试

在此基础上再开启一个CPUhot:

可见新启动的任务不会占用CPU1。

将CPUhot进程与 CPU1绑定:

此时观察CPU使用率:

另外还有一个问题就是怎样禁止一个中断打断cpu?

内核提供了中断的affinity,但要使用这个还需要关闭 irq balancer 进程。

如下脚本可以设置中断的cpu affinity。

for i in $(find /proc/irq -name "smp_affinity")do echo 1 >$idone

以上脚本把所有中断的CPU Affinity都设置为CPU0。

这样在/proc/irq目录下的每一个中断其CPU Affinity都被设置为CPU0。

此时仍有一系列的中断会打断CPU1:

Single function call interrupts

Local timer interrupts

另外要让中断的CPU Affinity起作用,irq balance 服务必须被关闭。但这样中断负载平衡就被打断,能不能修改irq balance 代码,让其在规定的若干个CPU核心上负责中断平衡


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/6151104.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存