摘要:本文讲述了测试技术之cgroup--cpu spuset 子系统功能测试, 测试的目的主要是对 cgroup 中 cpu 和cpuset这两个子系统的功能进行验证,探索cpu.shares、cpu.rt_period_us 、cpu.rt_runtime_us 等参数功能和使用方法。希望本文对大家学测试技术有所帮助。
1.测试目的
目前最新的稳定版Linux内核(3.2.6)中cgroup的功能和特性都已经比较丰富和完善,用户空间的工具也有了。Cgroup中对于CPU资源的控制主要集中cpu和cpuset这两个子系统,其中cpu子系统主要用来控制进程调度,设置进程占用CPU资源的比重;cpuset则主要是控制进程能够使用哪些CPU和内存节点(NUMA)。
测试的目的主要是对 cgroup 中 cpu 和cpuset这两个子系统的功能进行验证,探索cpu.shares、cpu.rt_period_us 、cpu.rt_runtime_us 等参数功能和使用方法。
2.测试平台:
ubuntu 11.10 3.0.0-26-generic-pae 4 Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
3.测试过程
挂载: mount -t tmpfs cgroup_root /sys/fs/cgroup mkdir /sys/fs/cgroup/cpuset mount -t cgroup -ocpuset cpuset /sys/fs/cgroup/cpuset
创建目录: root@ubuntu:/sys/fs/cgroup/cpuset# mkdir tailor tinker 挂载 : root@ubuntu:~# mount -t cgroup -o cpu none /sys/fs/cgroup/cpu 创建目录: root@ubuntu:/sys/fs/cgroup/cpu# mkdir tailor tinker 启动两个测试程序: sina@ubuntu:~$ ./a.out & [2] 3944 sina@ubuntu:~$ ./a.out & [2] 3945 将测试进程放到 cpu cpuset分支里面:
sina@ubuntu:/sys/fs/cgroup/cpuset/tinker$ echo 3944 > tasks sina@ubuntu:/sys/fs/cgroup/cpuset/tailor$ echo 3945 > tasks sina@ubuntu:/sys/fs/cgroup/cpu/tailor$ echo 3945 > tasks sina@ubuntu:/sys/fs/cgroup/cpu/tinker$ echo 3944 > tasks
设置 cpu分支里面的 cpu.shares [html] view plaincopy sina@ubuntu:/sys/fs/cgroup/cpu/tailor$ echo 1024 > cpu.shares sina@ubuntu:/sys/fs/cgroup/cpu/tinker$ echo 512 > cpu.shares 设置两个组的cpu affinity: sina@ubuntu:/sys/fs/cgroup/cpuset/tailor$ echo 3 > cpuset.cpus sina@ubuntu:/sys/fs/cgroup/cpuset/tinker$ echo 3 > cpuset.cpus
一段时间之后观察cpu使用率:(因为 内核调度等方面的原因,需要等待很久才能得到如下结果)
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试技术频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号