免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1432 | 回复: 0
打印 上一主题 下一主题

设置CPU Affinity [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-04 12:59 |只看该作者 |倒序浏览

在Windows下,可以通过task manager来设置进程的affinity,以此来让程序运行在特定的CPU上(如果你的机器是SMP的话)。方法就是右键点击进程,在弹出菜单中选择set affinity ...,然后affinity设置对话框就会弹出来。如果在Linux下,应该通过什么命令来实现相同的功能呢?答案就是taskset。Taskset命令可以为即将执行的程序或者已有进程指定affinity属性,让该程序或者进程运行在指定的CPU上。下面是几个例子:
taskset –c 1 nohup perl pi.pl &    ---指定在1号CPU上执行指定的perl程序
taskset –c 1 –P 10284                  ---将10284号进程限定在1号CPU上执行
这里要注意的是我们可以把某个程序限定在某一些CPU上运行,但这并不意味着该程序可以独占这些CPU,其实其他程序还是可以利用这些CPU运行。如果要精确控制CPU,taskset就略嫌不足,cpuset才是王道。
还有一点需要略带提及的就是如何查看当前各个CPU的运行情况,这对于利用taskset分配CPU资源是十分重要的。可以使用mpstat指令,UNIX系统下,mpstat有相当完备的选项可供使用,而在笔者的REDHAT AS5中,mpstat只有区区-P选项。以下是笔者运行mpstat –P ALL的截图,可以看到各个CPU的运行情况。
[kxu@nothung MovieInfo]$ mpstat -P ALL                     
Linux 2.6.18-8.el5 (nothung.localdomain)        02/03/2008
10:50:43 PM  CPU  %user  %nice  %sys %iowait  %irq   %soft  %steal  %idle  intr/s
10:50:43 PM  all  32.82  0.00   4.73 0.10     0.00   0.13   0.00    62.22  1035.82
10:50:43 PM  0    26.73  0.00   3.96 0.08     0.00   0.13   0.00    69.08  141.13
10:50:43 PM  1    23.60  0.00   3.54 0.09     0.00   0.09   0.00    72.68  129.18
10:50:43 PM  2    37.59  0.00   5.54 0.11     0.00   0.15   0.00    56.60  131.34
10:50:43 PM  3    42.40  0.00   6.01 0.08     0.00   0.17   0.00    51.33  126.07
10:50:43 PM  4    21.42  0.00   3.16 0.20     0.00   0.09   0.00    75.11  130.14
10:50:43 PM  5    33.09  0.00   4.89 0.09     0.00   0.13   0.00    61.79  125.14
10:50:43 PM  6    44.00  0.00   6.04 0.06     0.00   0.17   0.00    49.73  127.79
10:50:43 PM  7    33.73  0.00   4.66 0.07     0.00   0.13   0.00    61.40  125.04
[kxu@nothung MovieInfo]$


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6776/showart_476108.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP