Cgroup blkio I/O 控制

简介:

1.1 I/O 控制blkio

blkio子系统限制对指定块设备的 I/O 操作


1)对于分配给blkio子系统的进程,我们可以通过两种方式控制它们对块设备的 I/O 操作

a)通过加权系统

Blkio 子系统参数(bkiio.weight)允许每个Cgroup 拥有相对份额的可用I/O.加权机制可用在公平调度器中实现

b)通过I/0 限制

可用使用子系统参数来为块设备设置I/0操作数上限,这是提供一种限制分配到Cgroup的进程读写手段

c)Example 1

在实例中,我将对一些进程配置限制功能,限制硬盘设备I/0 带宽(字节/秒)

1,确保已挂载blkio控制器

          grep blkio /proc/mounts || mkdir /cgroup/blkio ; mount -t cgroup -o blkio none /cgroup/blkio

2,创建cgroupcgcreate ,名称为ioctl-william

a)Cgcreate –gblkio:/ioctl-william

3,ioctl-william 分配进程,

a)我将当前 shell 分配到此 cgroup,以便blkio控制器管理在该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)设置子系统参数blkio.throttle.read_bps_device。其格式为<major>:<minor><bytes_per_second> 同样,查看设备节点以获取主设备号和次设备号

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

1./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

相关文章
|
7月前
|
Shell Linux 调度
cgroup 资源控制介绍
cgroup 资源控制介绍
|
7月前
进程管理——PV操作
进程管理——PV操作
176 1
|
7月前
|
Kubernetes 监控 Linux
K8s 如何启用 cgroup2 支持?
K8s 如何启用 cgroup2 支持?
|
Linux API C语言
cgroup V1和V2的原理和区别
cgroup V1和V2的原理和区别
|
Docker 容器
Cgroup 驱动
Cgroup 驱动
102 0
|
Linux Shell API
【翻译】linux中cgroups内存控制子系统memory.oom_control文件
翻译自:redhat文档的部分内容。 新linux内核cgroup的memory子系统提供memory.oom_control来开关cgroup中oom killer,并且提供了消息接口。
7564 0
|
存储 缓存 Linux
blkio cgroup
blkio 是 cgroup v1 中的一个子系统,使用 cgroup v1 blkio 子系统主要是为了减少进程之间共同读写同一块磁盘时相互干扰的问题。
571 1
cgroup
创建两个python进程,然后分别绑定在第0,1号CPU上.
cgroup