Io

如何計算 cgroups 中的 blkio 份額?

  • March 3, 2016

目前,我正在嘗試使用 Debian Wheezy 及其預設核心 3.2.60-1+deb7u3 和 cgroups blkio 控制器來設置測試場景。blkio.weight 的計算對我不起作用。

我的設置如下,我在 /sys/fs/cgroup 中有一個根 cgroup,其中預設 blkio.weight 為 1000。現在我創建了 2 個子組 (/sys/fs/cgroup/grp1 @ blkio.weight:800, /sys /fs/cgroup/grp2 @ blkio.weight:200) 在同一物理設備上的 2 個不同 LVM 卷上寫入,得到以下 fio 結果:

grp1:
 read : io=3276.2MB, bw=1224.8KB/s, iops=400 , runt=2740822msec
 write: io=839516KB, bw=313651 B/s, iops=99 , runt=2740822msec

grp2:
 read : io=3278.3MB, bw=1123.9KB/s, iops=365 , runt=2987186msec
 write: io=837351KB, bw=287041 B/s, iops=91 , runt=2987186msec

但這顯然不是 80% 到 20% 的份額。另一個問題是:還有一個1000的blkio.weight。這個值是怎麼用的?

  1. cgroup 文件建議使用以下命令刷新所有文件系統緩衝區並釋放 pagecache、dentries 和 inode:

~]# 同步

~]# echo 3 > /proc/sys/vm/drop_caches 2. 您可能還沒有達到 IOPS 的峰值。您使用的是什麼設備?400 iops 對您的設備來說是正常的還是很低?增加 FIO 中的 io-depth 和 num-jobs 以達到設備的峰值 IOPS。

引用自:https://unix.stackexchange.com/questions/160048