blkio cgroup 的作用是什么?
1:按权重比例对io进行控制
2: 按带宽和iops 对io进行控制
blkio cgroup 的配置文件有哪些?
自己列举一些重要的配置文件
blkio.throttle.read_bps_device 设置cgroup在某个设备上的读取的带宽上限,取值例子 设备号(主次设备号) 整数,单位是字节
blkio.throttle.read_iops_device 设置cgroup在某个设备上的读取的iops上限,取值例子 设备号(主次设备号) 整数
blkio.throttle.write_bps_device 设置cgroup在某个设备上的写入的带宽上限,取值例子 设备号(主次设备号) 整数,单位是字节
blkio.throttle.write_iops_device 设置cgroup在某个设备上的写入的iops上限,取值例子:设备号(主次设备号) 整数
blkio.weight 设置cgroup 在io 之中所占据的比重,取值为整数,取值范围在 10-1000,默认值为 500
blkio.weight_device 设置cgroup 在某个设备之中所占据的比重。 取值例子:设备号(主次设备号) 整数,取值范围在 10 - 1000 之间。
blkio 的注意点
1: cgroup v1 版本 对于 一般io(就是写入page cache的io),是无法限制带宽和iops的。
2: blkio 无法限制 cgroup 之中的进程对于磁盘的使用量。
实验:
1: 实验 cgroup 限制磁盘的带宽功能
目的:
测试blkcgroup 的功能,实验带宽的写功能。
步骤:
1: blkio cgroup 下 创建 test cgroup
mkdir /sys/fs/cgroup/blkio/test
2: 限制 写入的带宽上限为1M
echo “主设备号:次设备号 1048576” > /sys/fs/cgroup/blkio/test/blkio.throttle.write_bps_device
3:打开另一个窗口,使用iotop 监控每个进程的io状况,可以看到 进程所占用的io带宽,可以使用输出结果来验证
iotop -o -n1024 -b
4: 执行命令,开始测试
cgexec -g blkio:test dd if=/dev/zero of=/opt/a.txt oflag=direct bs=2M count=1023
2: 实验 cgroup 限制磁盘的 iops 功能
目的:
验证磁盘的iops功能
步骤:
1: blkio cgroup 下 创建 test cgroup
mkdir /sys/fs/cgroup/blkio/test
2: 设置设备的写入 iops 为10
echo “主设备号:次设备号 10” > /sys/fs/cgroup/blkio/test/blkio.throttle.write_iops_device
3:使用fio 进行测试
问题:
1: 使用限制cgroup的带宽功能,阿里云下 blkio cgroup 之中的统计信息 都是0。
记录下:尚未找到原因