cgroup-blkio子系统分析

本文详细介绍了Linux Cgroup中的blkio子系统,用于控制磁盘I/O带宽。内容包括概述、blkcg文件接口和实现,重点分析了基于权重的weight控制方式和基于绝对带宽的Iops、bps控制策略。weight控制依赖于CFQ调度器,而Iops和bps控制则在块层实现,与调度算法无关,适用于更广泛的场景。
摘要由CSDN通过智能技术生成

1      概述

Cgroup中的blkio子系统的主要功能是实现对磁盘i/o带宽的可定制化控制。目前支持的控制策略只要有两种:BLKIO_POLICY_PROP和BLKIO_POLICY_THROTL,即基于权重方式和基于流量方式。权重方式依赖于内核原生的CFQ i/o调度算法,i/o调度算法本身是工作在i/o调度层的,因此在使用上有一定的局限性,即被控制的设备必须使用cfq调度算法;为了弥补这方面的局限性,内核后来引入了基于内核 iothrottle的基于绝对流量的控制策略(虽然也有基于cfq的iops绝对控制,但是性能不佳),同时它还分为基于bps和iops的子策略类型,它工作在通用块层,与调度算法无关,因此具有更广的使用范围,但是绝对流量的策略是一种硬性限制,也有一定的弊端,即对io带宽的利用率上存在一定的问题,不能像权重控制那样将带宽使用率最大化。

2      blkcg文件接口

blk_cgroup文件系统主要提供以下文件共用户进行流量和权重控制

流量:

blkio.throttle.read_bps_device 限制对某块设备读带宽

blkio.throttle.read_iops_device 限制对某块设备读的次数

blkio.throttle.write_bps_device 限制对某块设备写带宽

blkio.throttle.write_iops_device 限制对某块设备写的次数

权重:

blkio.weigh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值