# @name SMP CPU Affinity
# @desc Check that processes assigned to multiple CPUs complete without errors
# @requires smp
# @setup_requires

SMP_S_FUNC_CPUAFFINITY_NO-LB_CORE1
source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`;
echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null &&
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M
count=10" -l "-n 10 -a 0x1 -d 0"

SMP_S_FUNC_CPUAFFINITY_NO-LB_CORE2
source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`;
echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null &&
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M
count=10" -l "-n 10 -a 0x2 -d 0"

SMP_S_FUNC_CPUAFFINITY_LB
source 'common.sh';  num_cores=`cat /sys/devices/system/cpu/online`;
echo $num_cores | grep -E '[[:digit:]]+\-' > /dev/null &&
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M
count=10" -l "-n 20 -a 0xFFFFFFFF -d 0"

 
multi_run_processes.sh -s "dd if=/dev/urandom of=/dev/null bs=1M count=10" -l "-n 10 -a 0x1 -d 0"
 
# usage:
# multi_run_processes.sh <process list> [<process list2> ...] -v
#   where        -v is an optional flag and when present indicates that priority
#                 of two processes has to be verified using time taken
#                 for process execution
#
#                 process_list= -s "#-separated commands" -l "-n <num_instances>
#                        -a <cpu affinity mask> -d <inter-process start delay>
#                        -p <priority> -r <realtime priority>"
 
-s "dd if=/dev/urandom of=/dev/null bs=1M count=10"
-l "-n 10 -a 0x1 -d 0"
 
 
run_processes.sh -c  "dd if=/dev/urandom of=/dev/null bs=1M count=10" -n 10 -a 0x1 -d 0
 
# usage: run_processes.sh -c <"#-separated commands">
#                  [-n <num_of_instances> ]
#                  [-a <cpu_affinity_mask>]
#                  [-d <delay_in_sec> ]
#                  [-p <priority> ]
#                  [-r <realtime priority> ]
#                  [-w] On first failure, wait for all processes
# if cpu affinity is set, then taskset is used to spawn the processes
 
[-a <cpu_affinity_mask>]
在哪个CPU上运行,二进制就在哪一个上赋值为1
那么例如出现pid 8987's current affinity mask: ff   ff是16进制,转换二进制:11111111,意思就是在8个CPU上运行!
比如说16进制的40,那么转换二进制01000000,意思就是在第7块CPU上运作
 

最新文章

  1. 分布式系统理论进阶 - Paxos
  2. 【学】AngularJS日记(1) - 常用工具
  3. DB2导入导出数据库数据
  4. python面试大全
  5. 【PHP面向对象(OOP)编程入门教程】13.访问类型(public,protected,private)
  6. JavaScript深入浅出2-表达式和运算符
  7. BestCoder Round #61 1002 Game
  8. css3 -- 背景图处理
  9. Android Apps开发环境搭建
  10. Android进阶笔记03:Android应用中实现查看&quot;附近的人&quot;的功能
  11. Unity问答——怎么知道屏幕中目前有多少个敌人?
  12. 深入研究 Win32 结构化异常处理(好多相关文章)
  13. [Unity]蓝鸥Untiy-RPC-Sample
  14. Java环境的搭建
  15. C#抽象方法与抽象实例--C#基础
  16. python3.4 + Django1.7.7 表单的一些问题
  17. 【nowcoder】 4th T2 区间
  18. 剑指offer——python【第37题】数字在排序数组中出现的次数
  19. Android屏幕适配全攻略(最权威的官方适配指导)
  20. js---PC端滑动进度条

热门文章

  1. 8.为什么IntelliJ IDEA首次加载比较慢
  2. visual studio 编译报错:未能向文件“....csproj.FileListAbsolute.txt”写入命令行,对路径的访问被拒绝
  3. 理解性能的奥秘——应用程序中慢,SSMS中快(4)收集解决参数嗅探问题的信息
  4. P2627 修剪草坪 (单调队列优化$dp$)
  5. 黑马lavarel教程---2、获取用户输入
  6. JDBC链接Mysql失败
  7. 在google chrome浏览器上安装 Vue Devtools工具
  8. JS-Promise(使异步操作同步执行)
  9. Unity 指定参数
  10. python实现自动发送邮件