cgroup--cgroup 測(cè)試
cgroups全稱control groups,在RHEL6的2.6.32內(nèi)核中已經(jīng)包括了cgroup的patch。這里強(qiáng)烈建議安裝RHEL6(CentOS6)來(lái)使用cgroups,如果沒(méi)有的話,
只能升級(jí)內(nèi)核了 ( > 2.6.26版本)
安裝cgroups
apt-get install cgroup-bin
改變配置:vi /etc/cgconfig.conf
將最后的mount 改為如下形式:
mount { cpuset = /sys/fs/cgroup/cpuset; net_cls = /sys/fs/cgroup/net_cls; blkio = /sys/fs/cgroup/blkio; perf_event = /sys/fs/cgroup/perf_event; cpu = /sys/fs//cgroup/cpu; cpuacct = /sys/fs/cgroup/cpuacct; devices = /sys/fs/cgroup/devices; memory = /sys/fs/cgroup/memory; freezer = /sys/fs/cgroup/freezer; } |
測(cè)試 cpu 子系統(tǒng)
cpu.shares:假設(shè)cgroup A的 tasks 的 cpu.shares 值為1,cgroup B的tasks的cpu.shares值為2,則cgroup B的進(jìn)程占用的cpu時(shí)間是cgroup A上進(jìn)程的2倍。
cpu.rt_runtime_us
cpu.rt_period_us: 這兩個(gè)值建議不要設(shè),讓OS去調(diào)度占用的CPU時(shí)間的絕對(duì)值。
進(jìn)入 cpu 目錄:
sina@ubuntu:~$ cd /sys/fs/cgroup/cpu
創(chuàng)建目錄:
# mkdir tinker
# mkdir tailor
下面通過(guò)taskset -c 3 ,啟動(dòng)兩個(gè)虛擬機(jī) 并指定其 cpu affinity為cpu 3,啟動(dòng)2個(gè)虛擬機(jī):
# taskset -c 3 ./for-test.sh
并在每個(gè)虛擬機(jī)中 滿負(fù)荷運(yùn)行 計(jì)算密集型程序。
觀察兩臺(tái)虛擬機(jī)的PID,及cpu使用率:
root@ubuntu:~# ps -C qemu-system-i386 -opid,%cpu,psr,args PID %CPU PSR COMMAND 3237 50.1 3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386 3306 49.8 3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386 |
此時(shí)把兩個(gè)qemu 任務(wù)的 pid分別 echo 進(jìn) tasks 文件中。并且修改 cpu/tinker 的 cpu.shares 為2048, cpu/tailor 的 cpu.shares 為512:
root@ubuntu:~# echo 3237 > /sys/fs/cgroup/cpu/tinker/tasks root@ubuntu:~# echo 3306 > /sys/fs/cgroup/cpu/tailor/tasks root@ubuntu:~# echo 2048 > /sys/fs/cgroup/cpu/tinker/cpu.shares root@ubuntu:~# echo 512 > /sys/fs/cgroup/cpu/tailor/cpu.shares |
此時(shí)觀察兩個(gè)任務(wù)的 cpu 使用率:
root@ubuntu:~# ps -C qemu-system-i386 -opid,%cpu,psr,args PID %CPU PSR COMMAND 3237 80 3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386 3306 20 3 /home/sina/Downloads/qemu-kvm-1.1.0/i386-softmmu/qemu-system-i386 |
設(shè)置了cpu.shares之后CPU利用率不會(huì)立刻就變?yōu)閟hares指定的那樣,需要等待一段時(shí)間,基本上是個(gè)曲線的變化過(guò)程,之后就按照設(shè)置的數(shù)值來(lái)分配cpu使用率。
(須待以后在測(cè)試!!)
posted on 2013-10-15 11:25 順其自然EVO 閱讀(461) 評(píng)論(0) 編輯 收藏