cgroup中blkio子系统的主要功能是实现对磁盘IO带宽的可定制化控制,目前支持的控制策略只要有两种:基于weight权重方式和基于流量方式(iops,bps)。weight方式依赖于内核原生的CFQ IO调度算法(其工作与IO调度层);流量方式即IO throttle工作在通用块层。

IO throttle: iops/bpsl

CFS:weight/iops

正常提交IO的流程(部分):
submit_bio 
         -> generic_make_request
                    ->1, generic_make_request_checks 
                             ->blkcg_bio_issue_check 
                                     ->blk_throtl_bio
                    ->2, blk_queue_bio

被throttle的IO的后续提交流程:
kworker(kthrotld)
          -> blk_throtl_dispatch_work_fn 
                     -> generic_make_request(还要经过造请求函数提交)

测试IO throttle,限制sda盘每秒IOPS为50:

使用systemtap探测,dd产生的IO 被throttle:

关于IO throttle相关推荐

  1. make xconfig详解

    http://blog.csdn.net/yanshuai_tek/article/details/50902817 make menuconfig 图形化的内核配置 make mrproper 删除 ...

  2. linux 内核配置简介

    Gentoo Linux Gentoo内核(gentoo-sources)特有的选项 Gentoo Linux support CONFIG_GENTOO_LINUX 选"Y"后, ...

  3. elasticSearch常见问题答疑

    1.ES不是什么 ES不是可靠的存储系统,不是数据库,它有丢数据的风险.具体请参考ES内部分享中的ES简介这个文档 2.为什么一条数据写入后马上查询查不到? ES不是实时系统,数据写入成功只是tran ...

  4. kubernetes在腾讯游戏的应用实践

    黄惠波,腾讯互娱高级工程师 目前主要负责游戏计算资源容器化平台的研发工作,包括kubernetes/docker研究以及定制化开发,主导腾讯游戏万级容器资源调度平台的建设工作. 大家好!今天我分享的主 ...

  5. linux存储技术学习资料

    参考 https://www.cnblogs.com/pengdonglin137/p/16525428.html Linux I/O栈 Linux内核的I/O栈大图 知乎Linux I/O专栏1 L ...

  6. 管理数万个实例,服务上百个业务:kubernetes在腾讯游戏的使用及演进历程

    导读:本文介绍了腾讯游戏 3 年 kubernetes 的使用及演进过程,并详细介绍了如何优化及改进以满足业务需要,文后还提供了腾讯游戏开源的一个网络插件. 黄惠波,腾讯互娱高级工程师 目前主要负责游 ...

  7. cgroup介绍、安装和控制cpu,内存,io示例

    cgroup介绍 cgroup是control group的简称,它为Linux内核提供了一种任务聚集和划分的机制,通过一组参数集合将一些任务组织成一个或多个子系统. Cgroups是control ...

  8. ceph架构/IO原理分析(齐全)

    1. Ceph架构简介及使用场景介绍 1.1 Ceph简介 1.2 Ceph特点 1.3 Ceph架构 1.4 Ceph核心组件及概念介绍 1.5 三种存储类型-块存储 1.6 三种存储类型-文件存储 ...

  9. innobackupex参数之 --throttle 限速这个值设置多少合理 原创

    innobackupex参数之--parallel --throttle --parallel 此参数用于开启多个子进程并发备份多个数据文件(注意,一个数据文件只会有一个进程完成备份).可以加快备份速 ...

最新文章

  1. eclipse调试详解
  2. 浙大博士导师整理:Tensorflow和Pytorch的笔记(包含经典项目实战)
  3. iOS自定义控件:简易下拉控件
  4. C# ICSharpCode.SharpZipLib.Zip 的使用
  5. OpenCV简单的过滤器平滑的实例(附完整代码)
  6. Titanic: Machine Learning from Disaster-kaggle入门赛-学习笔记
  7. 前端基础-HTML的的标签详解
  8. linux pthread
  9. google搜索url参数总结
  10. 双路服务器装mac系统,华硕Z10 C612,双路E5继续折腾调试改机型Macpro终于成功。...
  11. 银河麒麟v10sp1桌面安装远程控制工具todesk
  12. 使用json报错java.lang.NoClassDefFoundError: nu/xom/ParentNode
  13. 盘点免费好用的5款思维导图工具
  14. 微信公众平台消息接口开发(20)图片识别之人脸识别
  15. ecshop小京东后台首次上传商品不能上传相册的解决办法
  16. ps使图片边缘模糊且融入背景色
  17. android修改系统默认时间
  18. java计算机毕业设计基于安卓Android/微信小程序的自来水收费系统APP
  19. P3722 [AH2017/HNOI2017]影魔(树状数组)
  20. 基于语音识别的提醒闹钟项目总结

热门文章

  1. JavaPoet 的使用
  2. Java学习资源 | Java编程最新教学视频大全,推荐
  3. 基于Redis的BloomFilter实现
  4. [已解决] EnvironmentLocationNotFound: Not a conda environment: C:\Program Files\Anaconda3
  5. MongoDB查询集合中的文档
  6. PDF中在指定位置插入图片
  7. 苹果xr电池容量_5G iPhone 12电池变小了!外媒:苹果认为5nm工艺很节能
  8. Win10文件夹搜索功能失效怎么办?
  9. SKNet: Selective Kernel Networks
  10. 生成数字相加验证码图片并验证