linux下管理线程和cpu及核的分配

registercsdn 2018-03-22 11:35:58
之前在windows下问过类似问题,现在需要在linux下做。

有一个程序,1个主线程和5个子线程
机器配置:ubuntu, 6个cpu, 2个cpu每个都是强大双核, 4个cpu每个都是普通4核

我使用
CPU_ZERO (&cpuset);
CPU_SET (0, &cpuset);
rc = sched_setaffinity (pid, size_cpu_set, &cpuset);
来做实验

有一些问题:
1. 上面的似乎只能指定第几个CPU,而不能指定CPU的第几个核,如何指定第几个核?
2. 我将所有的6个线程,都分配到了第0个cpu上,但是程序执行后,看cpu状态的时候,6个cpu全都被调用起来了,正常情况不应该是只调用我分配的cpu吗,6个线程里面,我这里都是写的0. CPU_SET (0, &cpuset);
...全文
671 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-03-23
  • 打赏
  • 举报
回复
搜“毛德操 线程调度”?

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧