记录文档_taskset指令设置程序运行CPU
来源:互联网 发布:js事件对象 编辑:程序博客网 时间:2024/06/02 01:23
之前在tilera上看GX36多核处理器中关于多核处理器工作过程,Linux内核默认处理任务的方式按道理来说是使多核处理能力得到足够的利用,如果当前有4个processor,那么一个任务过来发现第一个处理器正在忙,那么他就会看第二个处理器是否是处于忙的状态,如果第二个处理器同样也是忙的状态的话,那么他就看下一个,直到找到一个不忙的处理器,然后再上面运行程序;如果没有找到那么他就会自动送到第一个处理器的队列里,等待处理;这个是我之前的理解。以上是默认分配处理单元的方式;同样Linux也支持使用手动设置进程亲和性的方式来指定当前程序运行在那个处理单元上。Linux为此提供了taskset指令。
1、 运行需要绑定的程序
2、 查找当前程序的pid
ps -ef | grep test
3、 绑定当前运行进程1728到指定处理器1上;
root@desktop:~# taskset -p 2 1782
pid 1782's current affinity mask: 3
pid 1782's new affinity mask: 2
4、通过ps -eo pid,args,psr查看当前进程运行在那个CPU上;
1782 1
5、执行top 然后按1,查看CPU工作状态;
Cpu0 : 11.7%us, 13.0%sy, 0.0%ni, 75.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
6、 发现所有开销都在cpu0上,并不是想要的1上;
7、 这时候关闭进程使用taskset -c 1 /path/test 重新运行程序
注:这里1指的是processor号,也就是CPU1;
8、查看当前运行进程的所运行的处理器 ps -eo pid,psr
1883 1
注:这里说明当前程序运行在CPU1上;设置成功;
9、使用TOP查看CPU工作状态
Cpu0 : 0.0%us, 0.0%sy, 0.0%ni, 99.3%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 10.9%us, 8.7%sy, 0.0%ni, 80.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
注:这里发现程序开销在CPU1上,实现预期设置。
- 记录文档_taskset指令设置程序运行CPU
- 在windows中设置程序运行的cpu
- 设置程序占用的CPU运行核数-可以实现别的程序流畅运行
- 记录程序运行时间
- python程序运行时间(CPU运行时间)
- VS2010 运行程序、批处理指令
- Python GIL 系列之通过设置进程运行的CPU来提高Python程序的性能
- 设置自运行程序
- python 设置运行进程的CPU
- 指令与CPU的运行探微(一)
- 指令与CPU的运行探微(二)
- 指令与CPU的运行探微(三)
- Linux指令_查看CPU相关运行信息top
- 监视Windows CPU调度程序运行队列
- 程序在CPU中运行的机制
- 运行程序并指定cpu相关性
- Linux CPU affinity指定程序运行CU
- Linux系统-程序运行CPU核心绑定
- 利用Intellij IDEA构建开发环境
- hibernate get 和load
- tableview section之间的距离
- 运行时机制
- java8.Lambda表达式
- 记录文档_taskset指令设置程序运行CPU
- [从头学数学] 第116节 相交线与平行线
- ios tableview iOS: TableView如何刷新指定的cell 或section
- Java8のStream学习
- VMWare虚机连不了网
- baiduTemplate——js模板引擎使用
- 函数备忘录
- iOS--Bundle的新建与使用
- FineUI秘密花园(六) — 表单控件