文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>指定某个cpu只运行指定进程的做法

指定某个cpu只运行指定进程的做法

时间:2010-11-08  来源:空灵静世

指定某个cpu只运行指定进程的做法


进程与cpu绑定需要做四件事:



一、把指定cpu从平衡算法剔除。

二、把指定cpu上所有的中断请求搬到其他cpu。

三、把指定cpu上的所有的进程搬到其他cpu。

四、把指定进程到绑定到指定cpu。


一、把指定cpu从cpu平衡算法剔除,机器启动后,用户进程自动不会在指定cpu上运行。 做法如下:

在/boot/grub/grub.conf文件里的root=LABEL=/ 后面添加 isolcpus=cpu号列表

cpu号从0开始,多个cpu号之间用“,”分隔,例:isolcpus=1

或isolcpus=4,5,6

二、把指定cpu上所有的中断请求搬到其他cpu,做法如下:

修改/opt/irq/中断号/smp_affinity文件的内容。

内容00000001表示该中断请求在cpu0上运行,

内容00000003表示该中断请求在cpu0和cpu1上运行,

三、 把指定cpu上的所有的进程(指定进程除外)搬到其他cpu,做法如下:

taskset -pc cpu列表 pid.

例:taskset -pc 1 pid.

taskset -pc 1,2 pid.

taskset -pc 1-4 pid.

在这个过程中,我们主要把系统进程搬到了其他cpu上。

查看某个进程绑定在哪个cpu上可以执行taskset -p pid.

输出的mask值:1表示运行在cpu0上,3表示运行在cpu0和cpu1上。

四、把我们的指定进程搬到指定cpu,做法参考三。



注:

1、子进程会继承父进程的cpu信息,分配到cpu0和cpu1上运行的进程产生的子进程也会被分配到cpu0和cpu1.

2、taskset 可以用c函数sched_setaffinity和 sched_getaffinity代替

3、查看进程当前运行在哪个cpu上,可以执行ps -e pid,args,psr

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载