目录

ubuntu-16.04-测试cgroup-v2-io-隔离

目录

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,末尾添加cgroup_no_v1=all

https://i-blog.csdnimg.cn/blog_migrate/c0381061fb226be929647322221a1376.png

(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

https://i-blog.csdnimg.cn/blog_migrate/634f962f81d79975bd1734215911105e.png