免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5520 | 回复: 22

[进程管理] 请问:如何将CPU1上面所有任务全部移到CPU0上来运行? [复制链接]

论坛徽章:
0
发表于 2015-01-20 17:20 |显示全部楼层
如题,
       请问如何将CPU1上面所有任务全部移到CPU0上来运行?有什么OpenSource的Tool吗?

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
发表于 2015-01-20 19:57 |显示全部楼层
回复 1# jian9158101

“所有”指的范围有多大?
内核的服务线程算吗?


用户态Taskset命令有可以用呀。cgroup 的cpuset子系统也可以用。


   

论坛徽章:
0
发表于 2015-01-21 09:25 |显示全部楼层
对,包括内核线程跟用户进程,我来试试看哦,谢谢

论坛徽章:
0
发表于 2015-01-21 09:31 |显示全部楼层
我的CPU是双核的,当我用echo 0 > /sys/devices/system/cpu/cpu1/online将CPU1 Down掉后,用TOP查看状态发现所有的CPU内核线程原本在CPU1上的,都移到了CPU0,而原本在CPU1的用户进程则全部睡眠
我在想有什么办法可以将用户进程也全部移到CPU0上,然后在Down掉CPU1,用taskset貌似只能一个一个的设定比较不方便
回复 2# Tinnal


   

论坛徽章:
0
发表于 2015-01-21 16:00 |显示全部楼层
自己顶下)求达人帮忙~

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
发表于 2015-01-21 17:20 |显示全部楼层
jian9158101 发表于 2015-01-21 09:31
我的CPU是双核的,当我用echo 0 > /sys/devices/system/cpu/cpu1/online将CPU1 Down掉后,用TOP查看状态发现 ...

貌似会自动迁移到其它cpu的。你看看其它进程当前运行的核是哪一个?这些进程默认就是S状态吧?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2015-01-21 19:46 |显示全部楼层
回复 4# jian9158101
我的CPU是双核的,当我用echo 0 > /sys/devices/system/cpu/cpu1/online将CPU1 Down掉后,用TOP查看状态发现所有的CPU内核线程原本在CPU1上的,都移到了CPU0,而原本在CPU1的用户进程则全部睡眠
我在想有什么办法可以将用户进程也全部移到CPU0上,然后在Down掉CPU1,用taskset貌似只能一个一个的设定比较不方便


你确定CPU1的用户进程睡眠了?cpu offline的时候是不区分用户进程的,所有的进程都会迁移到其他CPU上的。

echo "0" > /sys/devices/system/cpu/cpu1/online 对应的内核代码如下:

static SYSDEV_ATTR(online, 0644, show_online, store_online);

store_online-->cpu_down-->_cpu_down-->__cpu_notify-->....
                                                          -->__stop_machine-->stop_cpus-->__stop_cpus-->stop_machine_cpu_stop-->take_cpu_down-->__cpu_disable-->native_cpu_disable-->cpu_disable_common....

论坛徽章:
0
发表于 2015-01-22 11:37 |显示全部楼层
回复 6# humjb_1983
1. 看kernel doc下面的cpu-hotplug说是会自动迁移的~
2. 是S状态,比较top -b dump出来的所有task状态,有些用户进程迁移到了CPU0,有些没有,内核线程也是


   

论坛徽章:
0
发表于 2015-01-22 11:38 |显示全部楼层
回复 7# 瀚海书香
确定啊,看了下cat /proc/interrupts,只显示CPU0


   

论坛徽章:
15
射手座
日期:2014-02-26 13:45:082015年迎新春徽章
日期:2015-03-04 09:54:452015年辞旧岁徽章
日期:2015-03-03 16:54:15羊年新春福章
日期:2015-02-26 08:47:552015年亚洲杯之卡塔尔
日期:2015-02-03 08:33:45射手座
日期:2014-12-31 08:36:51水瓶座
日期:2014-06-04 08:33:52天蝎座
日期:2014-05-14 14:30:41天秤座
日期:2014-04-21 08:37:08处女座
日期:2014-04-18 16:57:05戌狗
日期:2014-04-04 12:21:33技术图书徽章
日期:2014-03-25 09:00:29
发表于 2015-01-22 12:19 |显示全部楼层
jian9158101 发表于 2015-01-22 11:37
回复 6# humjb_1983
1. 看kernel doc下面的cpu-hotplug说是会自动迁移的~
2. 是S状态,比较top -b dump出 ...

结果发来看看吧,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP