1.1 IOPS 控制(blkio)
Cgroup还可以限制设备的每秒最大 I/O 操作数 (IOPS)。
1)我将使用iostat
测量设备的未设限 IOPS(iostat
是sysstat
程序包的一部分),并将使用hdparm
生成一些磁盘负载
2)每秒更新一次,汇总该驱动器的 IOPS数。运行hdparm
命令(具体为hdparm --direct -t /dev/sda
)并观察iostat
的每秒事务值 (tps
) 变化
a)调用系统命令 hdparm –direct –t /dev/sda
b)重新打开ssh session ,调用系统命令(iostat 1 -d /dev/sda ) 观察tps 值
1.Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1421.00 1455104.00 0.00 1455104 0
2.Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1531.00 1567744.00 0.00 1567744 0
3.Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 538.00 550912.00 0.00 550912 0
3)设置IOPS 值
a)cgset -r blkio.throttle.read_iops_device="8:050" ioctl-william
b)调用系统命令 hdparm –direct –t /dev/sda
c)调用系统命令(iostat 1 -d /dev/sda ) 观察tps 值
1.Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 15.00 15360.00 0.00 15360 0
2.Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 50.00 51200.00 0.00 51200 0
3.Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 50.00 51200.00 0.00 51200 0
4.Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 37.00 37888.00 0.00 37888 0