首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sun Solaris操作系统上多个处理器的绑定过程

Sun Solaris操作系统上多个处理器的绑定过程
EN

Stack Overflow用户
提问于 2012-04-23 08:31:55
回答 2查看 4.6K关注 0票数 3

我有一个运行Solaris操作系统的服务器。我希望将多个处理器绑定到某个进程。我试过以下命令:

1) ps:获取过程标识。

代码语言:javascript
运行
复制
bash-3.00$ ps -ef | grep java
bileng 10708 10695   3 12:20:59 pts/1       0:26 /opt/billengine/jdk1.6.0_29/bin/sparcv9/java -Dprogram.name=run.sh -Xloggc:./jb

2) psrinfo:获取处理器id。

代码语言:javascript
运行
复制
bash-3.00$ /usr/sbin/psrinfo
0       on-line   since 11/04/2013 16:22:17
1       on-line   since 11/04/2013 16:22:18
2       on-line   since 11/04/2013 16:22:18
3       on-line   since 11/04/2013 16:22:18
4       on-line   since 11/04/2013 16:22:18
5       on-line   since 11/04/2013 16:22:18
6       on-line   since 11/04/2013 16:22:18
7       on-line   since 11/04/2013 16:22:18

3) pbind:将进程绑定到处理器。

我想将处理器编号4到7绑定到进程id (例如10708 )。因此,我尝试了以下命令:

代码语言:javascript
运行
复制
bash-3.00$ /usr/sbin/pbind -b 4-7 10708       
/usr/sbin/pbind: invalid processor ID 4-7

4)但是,当我尝试将单处理器id绑定到进程id时,它可以工作:

代码语言:javascript
运行
复制
bash-3.00$ /usr/sbin/pbind -b 4 10708
process id 10708: was not bound, now 4

5)但是我的要求是将多个处理器绑定到单个进程id

我试着浏览了所有的手册和文档,但都找不到线索。

有谁能给我一些建议吗。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-23 08:45:13

在Solaris中这样做的工具是psrset

创建一个处理器集

代码语言:javascript
运行
复制
 psrset -c 4-7

这将返回新处理器集的ID。

代码语言:javascript
运行
复制
 created processor set ps_id

然后,您可以将进程绑定到处理器集。

代码语言:javascript
运行
复制
 psrset -b ps_id pid
票数 3
EN

Stack Overflow用户

发布于 2015-05-29 16:19:33

在Solaris 11.2中,您可以使用processor_affinity(2)系统调用来完成这一任务。描述这一点的博客条目可以在这里找到:https://blogs.oracle.com/observatory/entry/multi_cpu_binding_mcb,当然还有一个手册页:

http://docs.oracle.com/cd/E36784_01/html/E36872/processor-affinity-2.html

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

https://stackoverflow.com/questions/10277221

复制
相关文章

相似问题

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