ubuntu 16.04 测试cgroup v2 io 隔离

        cgroup v1不支持buffer write io 限制,cgroup v2由于采用unified 层级设计,mem子系统和blk子系统联动,可以准确追踪buffer write时page 的cgroup属主,因而可以实现buffer write io 限制。但ubuntu 16.04默认带的cgroup v1,需要手动开启cgroup v2。开启和测试cgroup v2步骤:

       (1)在/etc/default/grub文件修改系统启动cmdline,末尾添加cgrpup_no_v1=all

       (2)更新grub,使生效

           update-grub

    (3)重启机器,/sys/fs/cgroup目录cgroup v1子系统就不会挂载了

      (4)挂载tmpfs文件系统

           mount -n -t tmpfs -o nosuid,nodev,noexec none /mnt/v2

           cgroup挂载点必须为tmpfs。

     (5)tmpfs下挂载cgroup v2文件系统

            mount -t cgroup2 -o nosuid,nodev,noexec none /mnt/v2

     (6)根cgroup挂载io 和mem两个子系统,不然buffer write 限制不能成功

            echo "+io +memory" > /mnt/v2/cgroup.subtree_control           

        (7) 创建测试子cgroup

            cd /mnt/v2/;mkdir test;cd test;

        (8) 配置资源限制参数

          echo “259:0 wbps=1048576” > io.max

        (9) dd if=/dev/zero of=test.file bs=1M count=2048

        (10) echo 7383 > cgroup.proc

        (11)iostat -d -x 1          

          

      

你可能感兴趣的:(学习笔记)