ubuntu cgroup 测试

来源:互联网 发布:钢结构效果图设计软件 编辑:程序博客网 时间:2024/06/10 09:06
 

cgroup 测试

cgroups全称control groups,在RHEL6的2.6.32内核中已经包括了cgroup的patch。这里强烈建议安装RHEL6(CentOS6)来使用cgroups,如果没有的话,

只能升级内核了 ( > 2.6.26版本) 


安装cgroups

[plain] view plaincopyprint?
  1. apt-get install cgroup-bin   


改变配置:

vi /etc/cgconfig.conf 


将最后的mount 改为如下形式:

[plain] view plaincopyprint?
  1. mount {  
  2.         cpuset = /sys/fs/cgroup/cpuset;  
  3.         net_cls = /sys/fs/cgroup/net_cls;  
  4.         blkio = /sys/fs/cgroup/blkio;  
  5.         perf_event = /sys/fs/cgroup/perf_event;  
  6.         cpu = /sys/fs//cgroup/cpu;  
  7.         cpuacct = /sys/fs/cgroup/cpuacct;  
  8.         devices = /sys/fs/cgroup/devices;  
  9.         memory = /sys/fs/cgroup/memory;  
  10.         freezer = /sys/fs/cgroup/freezer;  
  11. }  

测试 cpu 子系统

cpu.shares:假设cgroup A的 tasks 的 cpu.shares 值为1,cgroup B的tasks的cpu.shares值为2,则cgroup B的进程占用的cpu时间是cgroup A上进程的2倍。

cpu.rt_runtime_us

cpu.rt_period_us:  这两个值建议不要设,让OS去调度占用的CPU时间的绝对值。



进入 cpu 目录:

sina@ubuntu:~$ cd /sys/fs/cgroup/cpu

创建目录:

[plain] view plaincopyprint?
  1. # mkdir   tinker  
  2.   
  3. # mkdir   tailor  

下面通过taskset -c 3 ,启动两个虚拟机  并指定其 cpu affinity为cpu 3,启动2个虚拟机:

# taskset -c 3 ./for-test.sh


并在每个虚拟机中 满负荷运行 计算密集型程序。

观察两台虚拟机的PID,及cpu使用率:

[plain] view plaincopyprint?
  1. root@ubuntu:~# ps -C qemu-system-i386 -opid,%cpu,psr,args  
  2.   PID %CPU PSR COMMAND  
  3.  3237 50.1   3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386  
  4.  3306 49.8   3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386  

此时把两个qemu 任务的 pid分别 echo 进 tasks 文件中。并且修改  cpu/tinker  的 cpu.shares 为2048, cpu/tailor  的 cpu.shares 为512:

[plain] view plaincopyprint?
  1. root@ubuntu:~# echo 3237 > /sys/fs/cgroup/cpu/tinker/tasks  
  2. root@ubuntu:~# echo 3306 > /sys/fs/cgroup/cpu/tailor/tasks   
  3.   
  4. root@ubuntu:~# echo 2048 > /sys/fs/cgroup/cpu/tinker/cpu.shares   
  5. root@ubuntu:~# echo 512 > /sys/fs/cgroup/cpu/tailor/cpu.shares   

此时观察两个任务的 cpu 使用率:

[plain] view plaincopyprint?
  1. root@ubuntu:~# ps -C qemu-system-i386 -opid,%cpu,psr,args  
  2.   PID %CPU PSR COMMAND  
  3.  3237 80   3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386  
  4.  3306 20   3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386  


     设置了cpu.shares之后CPU利用率不会立刻就变为shares指定的那样,需要等待一段时间,基本上是个曲线的变化过程,之后就按照设置的数值来分配cpu使用率。

(须待以后在测试!!)
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 两周岁宝宝不爱吃饭怎么办 两周岁宝宝反复发烧怎么办 两周岁宝宝咳嗽厉害怎么办 2岁宝宝体内有火怎么办 4岁宝宝数都不会怎么办 两岁宝宝太撅怎么办 儿童晚上发烧白天不发烧怎么办 宝宝晚上睡觉认人怎么办 两岁宝宝尿裤子怎么办 分手了想和好怎么办说 2岁半宝宝胆小怎么办 1岁半宝宝胆小怎么办 分手了还是想他怎么办 两岁宝宝夜惊怎么办 孩子误吃了牙膏怎么办 孩子跳舞脸上的妆卸不掉怎么办 4周岁还不会说话怎么办 宝贝2岁多还不会说话怎么办 孩子20个月离婚怎么办 两个月宝宝闹夜怎么办 两个月宝宝闹瞌睡怎么办 2岁宝宝话特别多怎么办 宝宝3岁还不会说话怎么办 小儿3岁说话晚怎么办 1岁半了不会说话怎么办 宝宝2岁还说话晚怎么办 一岁宝宝不愿意学说话怎么办 2周岁宝宝不愿意学说话怎么办 三岁宝宝不爱说话应该怎么办 三岁宝宝不理人怎么办 两岁半宝宝不说话不连贯怎么办 宝宝三岁说话口齿不清怎么办 b超宝宝腿短怎么办 两岁宝宝学说话口吃怎么办 两岁宝宝说话少怎么办 三岁宝宝说话少怎么办 快4岁不会说话怎么办 宝宝2岁半不爱说话怎么办 两岁半宝宝注意力不集中怎么办 中国出生的外籍小孩怎么办签证 中国人入外籍后国内财产怎么办