在工作中,我们可能遇到这样的需求:如何评估程序在一核和多核下的工作效率差距?最简单的想法是找一台只有一个CPU逻辑核的机器和一台有多个逻辑核的机器。...找的的机器不能保证环境一致,比如操作系统或者运行中的其他程序。
于是比较好的方式是:在一台多逻辑核的机器上指定程序可以运行在哪些核上。...在一台相对繁忙的40个逻辑核心机器上,其输出结果如下:
?
上图可以看出,程序分别在:0,1,2,3,7,8,10,12,13,14,15,17,19,21号逻辑核上运行过。...为了让CPU在固定的核心上执行,我们可以使用taskset指令,让程序绑定逻辑核心。
taskset -c 0,10 ..../bind_core
上面指令让bind_core执行于0和10号逻辑核心上,这样我就可以看到它在这两个核心上的切换
?