<code>blkio</code>子系統限制對指定塊裝置的 I/O 操作
1)對于配置設定給<code>blkio</code>子系統的程序,我們可以通過兩種方式控制它們對塊裝置的 I/O 操作
a)通過權重系統
Blkio 子系統參數(bkiio.weight)允許每個Cgroup 擁有相對份額的可用I/O.權重機制可用在公平排程器中實作
b)通過I/0 限制
可用使用子系統參數來為塊裝置設定I/0操作數上限,這是提供一種限制配置設定到Cgroup的程序讀寫手段
c)Example 1
在執行個體中,我将對一些程序配置限制功能,限制硬碟裝置I/0 帶寬(位元組/秒)
1,確定已挂載blkio控制器
2,建立cgroup(cgcreate) ,名稱為ioctl-william
a)Cgcreate –gblkio:/ioctl-william
3,為ioctl-william 配置設定程序,
a)我将目前 shell 配置設定到此 cgroup,以便<code>blkio</code>控制器管理在該shell 内執行的每一條後續指令的 I/O
b)echo $$ >/cgroup/bliko/ioctl-william/tasks
4,設定ioctl-william 子系統參數
a)在設定之前我們做一次參考,用hdparm –t 檢查系統讀性能
i.Hdparm –direct –t /dev/sda
1./dev/sda:
2.Timing O_DIRECT diskreads: 1674 MB in 3.00 seconds = 557.64 MB/sec
b)設定子系統參數<code>blkio.throttle.read_bps_device</code>。其格式為<code><major>:<minor><bytes_per_second> </code>同樣,檢視裝置節點以擷取主裝置号和次裝置号
i.調用shell指令 ls –l 擷取裝置号
1.[root@ovirtNode216 ioctl-william]#ls -l /dev/sda
2.brw-rw----. 1 root disk 8, 0 6月 18 02:05 /dev/sda
ii.設定子系統參數
1.echo "8:0 1047576"> blkio.throttle.read_bps_device
c)設定會立即生效,我們期待測試結果
i.調用shell指令hdparm –direct –t /dev/sda
2.Timing O_DIRECT diskreads: 4 MB in 4.01 seconds = 1022.54 kB/sec
d)恢複子系統參數為預設值
i.echo “8:0 0” >bliko.throttle.read_bps_device
本文轉自 swq499809608 51CTO部落格,原文連結:http://blog.51cto.com/swq499809608/1229465