Cgroups I/O 读取限制

Cgroups I/O 读取限制

我正在尝试将组读取操作限制为每秒 100 次。

这是我的 cgroups 配置:

# Configuration file generated by cgsnapshot
mount { 

    blkio = /cgroup/blkio;      
}

group test2 {   
    blkio {
        blkio.throttle.write_iops_device="8:0 100";
        blkio.throttle.read_iops_device="8:0 100";
        blkio.throttle.write_bps_device="8:0 10485760";
        blkio.throttle.read_bps_device="8:0 10485760";
        blkio.weight="";
        blkio.weight_device="";
    }
}

读取操作限制在1分钟左右,之后读取速度将达到10MB/s。

我正在以 test2 用户身份运行 dd 命令进行测试:

dd if=file_1 of=file_2

以下是 iotop 命令的输出:

 Total DISK READ: 396.82 K/s | Total DISK WRITE: 0.00 B/s   TID  PRIO 
 USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND  7801 be/4
 test2     396.82 K/s    0.00 B/s  0.00 % 96.32 % dd of=/de~ if=file_1 
 5897 be/4 test2       0.00 B/s    0.00 B/s  0.00 %  0.00 % -bash

以下是 1 分钟后的输出:

Total DISK READ: 9.89 M/s | Total DISK WRITE: 3.96 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 7801 be/4 test2       9.89 M/s    0.00 B/s  0.00 % 93.64 % dd of=/de~ if=file_1
 5897 be/4 test2       0.00 B/s    0.00 B/s  0.00 %  0.00 % -bash

它会根据我的 blkio.throttle.write_bps_device="8:0 10485760" 配置进行限制吗?

我错过了什么?

还有一个问题,使用此配置不会限制 dd write 命令吗?

相关内容