位置: 编程技术 - 正文

Linux中使用cgroups管理进程磁盘io介绍(linux中使用最多的命令)

编辑:rootadmin

推荐整理分享Linux中使用cgroups管理进程磁盘io介绍(linux中使用最多的命令),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux中使用最多的命令,linux中使用最多的命令,linux中使用bash是什么意思,linux中使用less命令分屏查看,linux中使用什么命令可以把两个文件合并,linux中使用less命令分屏查看,linux中使用什么命令可以把两个文件合并,linux中使用less命令分屏查看,内容如对您有帮助,希望把文章链接给更多的朋友!

linux 的 cgroups 还可以限制和监控进程的磁盘 io。这个功能通过 blkio 子系统实现。

blkio 子系统里东西很多。不过大部分都是只读的状态报告,可写的参数就只有下面这几个:复制代码代码如下:blkio.throttle.read_bps_deviceblkio.throttle.read_iops_deviceblkio.throttle.write_bps_deviceblkio.throttle.write_iops_deviceblkio.weightblkio.weight_device

这些都是用来控制进程的磁盘 io 的。很明显地分成两类,其中带“throttle”的,顾名思义就是节流阀,将流量限制在某个值下。而“weight”就是分配 io 的权重。

“throttle”的那四个参数看名字就知道是做什么用的。拿 blkio.throttle.read_bps_device 来限制每秒能读取的字节数。先跑点 io 出来复制代码代码如下:dd if=/dev/sda of=/dev/null &[1] 用 iotop 看看目前的 io复制代码代码如下: TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND be/4 root . M/s 0. B/s 0. % . % dd if=/dev/sda of=/dev/null...

然后修改一下资源限制,把进程加入控制组复制代码代码如下:echo '8:0 ' >/sys/fs/cgroup/blkio/foo/blkio.throttle.read_bps_deviceecho >/sys/fs/cgroup/blkio/foo/tasks这里的 8:0 就是对应块设备的主设备号和副设备号。可以通过 ls -l 设备文件名查看。如复制代码代码如下:# ls -l /dev/sdabrw-rw----. 1 root disk 8, 0 Oct : /dev/sda这里的 8, 0 就是对应的设备号。所以,cgroups 可以对不同的设备做不同的限制。然后来看看效果复制代码代码如下: TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND be/4 root . K/s 0. B/s 0. % . % dd if=/dev/sda of=/dev/null...

可见,进程的每秒读取立马就降到了 1MB 左右。要解除限制,写入如 “8:0 0” 到文件中即可

不过需要注意的是,这种方式对小于采样间隔里产生的大量 io 是没用的。比如,就算在 1s 内产生一个每秒写入 M 的峰值,也不会因此被限制掉。

Linux中使用cgroups管理进程磁盘io介绍(linux中使用最多的命令)

再看看 blkio.weight 。blkio 的 throttle 和 weight 方式和 cpu 子系统的 quota 和 shares 有点像,都是一种是绝对限制,另一种是相对限制,并且在不繁忙的时候可以充分利用资源,权重值的范围在 – 之间。

测试权重方式要麻烦一点。因为不是绝对限制,所以会受到文件系统缓存的影响。如在虚拟机中测试,要关闭虚机如我用的 VirtualBox 在宿主机上的缓存。如要测试读 io 的效果,先生成两个几个 G 的大文件 /tmp/file_1,/tmp/file_2 ,可以用 dd 搞。然后设置两个权重复制代码代码如下:# echo >/sys/fs/cgroup/blkio/foo/blkio.weight# echo >/sys/fs/cgroup/blkio/bar/blkio.weight测试前清空文件系统缓存,以免干扰测试结果复制代码代码如下:syncecho 3 >/proc/sys/vm/drop_caches在这两个控制组中用 dd 产生 io 测试效果。复制代码代码如下:# cgexec -g "blkio:foo" dd if=/tmp/file_1 of=/dev/null &[1] # cgexec -g "blkio:bar" dd if=/tmp/file_2 of=/dev/null &[2]

还是用 iotop 看看效果复制代码代码如下: TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND be/4 root . M/s 0. B/s 0. % . % dd if=/tmp/file_2 of=/dev/null be/4 root . M/s 0. B/s 0. % . % dd if=/tmp/file_1 of=/dev/null

两个进程每秒读的字节数虽然会不断变动,但是大致趋势还是维持在 1:5 左右,和设定的 weight 比例一致。blkio.weight_device 是分设备的。写入时,前面再加上设备号即可。

blkio 子系统里还有很多统计项

blkio.time&#;&#;&#;各&#;&#;&#;设&#;&#;&#;备&#;&#;&#;的&#;&#;&#; io 访&#;&#;&#;问&#;&#;&#;时&#;&#;&#;间,单位毫秒

blkio.sectors换入&#;&#;&#;者&#;&#;&#;或&#;&#;&#;出&#;&#;&#;各&#;&#;&#;设&#;&#;&#;备&#;&#;&#;的&#;&#;&#;扇&#;&#;&#;区&#;&#;&#;数

blkio.io_serviced各设&#;&#;&#;备&#;&#;&#;中&#;&#;&#;执&#;&#;&#;行&#;&#;&#;的各类型&#;&#;&#; io 操&#;&#;&#;作&#;&#;&#;数,分read、&#;&#;&#;write、&#;&#;&#;sync、async 和 total&#;&#;&#;blkio.io_service_bytes各类型&#;&#;&#; io &#;&#;&#;换入&#;&#;&#;者&#;&#;&#;或&#;&#;&#;出&#;&#;&#;各&#;&#;&#;设&#;&#;&#;备&#;&#;&#;&#;&#;&#;的&#;&#;&#;字&#;&#;&#;节&#;&#;&#;数&#;&#;&#;blkio.io_service_time各设&#;&#;&#;备&#;&#;&#;中&#;&#;&#;执&#;&#;&#;行&#;&#;&#;的各类型&#;&#;&#; io 时间,单位微秒&#;&#;&#;blkio.io_wait_time各设&#;&#;&#;备&#;&#;&#;中各类型&#;&#;&#; io 在队列中的 等待时间&#;&#;&#;blkio.io_merged各设&#;&#;&#;备&#;&#;&#;中各类型&#;&#;&#; io 请求合并的次数&#;&#;&#;blkio.io_queued各设&#;&#;&#;备&#;&#;&#;中各类型&#;&#;&#; io 请求当前在队列中的数量&#;&#;&#;通过这些统计项更好地统计、监控进程的 io 情况用复制代码代码如下:echo 1 >blkio.reset_stats可以将所有统计项清零。

Linux系统安全:系统优化及安全配置详细介绍 作为一个系统管理员,下面我们聊一下基于服务器应用的Linux,由于个人电脑上使用Linux也许不是像服务器上一样,优先追求安全和稳定,因此个人电脑

Linux Ldd命令介绍及使用方法 LinuxLdd参数说明:--version打印ldd的版本号-v--verbose打印所有信息,例如包括符号的版本信息-d--data-relocs执行符号重部署,并报告缺少的目标对象(只对ELF

linux怎么删除文件夹?Linux删除文件夹命令 linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm-rf命令即可。直接rm就可以了,不过要加两个参数

标签: linux中使用最多的命令

本文链接地址:https://www.jiuchutong.com/biancheng/357049.html 转载请保留说明!

上一篇:Linux中使用cgroups控制内存资源介绍(linux中使用bash是什么意思)

下一篇:Linux系统安全:系统优化及安全配置详细介绍(Linux系统安全管理的内容包括)

  • 职工产假津贴怎么领取
  • 主营业务怎么计算
  • 个税补缴纳
  • 暂估入库必须次日入库吗
  • 转登记为小规模纳税人政策
  • 免抵退税怎么做账
  • 顾客抽奖代扣个税账务处理
  • 老板想提取销售公积金
  • 企业发生的借款费用,可直接归属于
  • 联营商品如何做账
  • 小企业采用什么折旧方法
  • 跨年错误分录能红冲吗
  • 继承房产出售时交个人所得税税率是多少
  • 销售货物运费的增值税率
  • 企业研发产品成本怎么算
  • 发票丢失登报声明怎么写
  • 哪些企业所得税汇算清缴
  • 原材料实际成本法核算问题
  • 库存商品的核算方法
  • 企业季度税如何申报
  • 前端向后端发送请求
  • 销售黄金的会计分录
  • 电脑qq聊天框变成一侧显示的软件版本
  • mxoaldr.exe - mxoaldr是什么进程 有什么用
  • 技术服务辅助设施包括
  • 分配结转制造费用时借方科目
  • 野生动物保护区有哪些
  • 应付票据可以直接填列吗
  • elementui常用组件有哪些
  • 收到金融服务费怎么转账给别人
  • php xml转字符串
  • vuecli配置代理
  • 回顾2021年作文
  • php mkdir
  • 自产赠送视同销售的成本怎么确定
  • 若依idea
  • 缴纳税款滞纳金怎么算
  • 让客户抽奖赠送什么礼物
  • 什么情况下需要异地预缴增值税
  • 出口不退税需要备案吗
  • 公司名下商品房过户给公司需要交过户费
  • 办理税控盘
  • php.ini上传限制
  • sql怎么用sql语句创建表
  • 调整以前年度费用怎么做账
  • 个税申报系统非正常可以改为正常吗?
  • 商场活动经费预算
  • 买车险要先付钱再上牌吗
  • 工程一般挂靠取得的收入怎么做账?
  • 付款申请单如何转填记账凭证
  • 法院强制执行扣完款就完事了吗
  • 股东之间资金往来
  • sql server默认实例
  • sql判断字符串是否为日期
  • sql判断字段是否有某个值
  • ubuntu中怎么安装vscode
  • fix it club
  • fdisk 分区表
  • jucheck.exe是什么
  • win10连接ubuntu20.04远程桌面
  • mentohust配置
  • linux怎么自定义命令
  • windows如何禁止访问某ip地址
  • 安装win8.1一直卡着不动
  • win7系统误删文件可以恢复吗
  • tab栏切换案例
  • bootstrap导航有哪些
  • 好好了解 英文
  • 导入extjs、jquery 文件时$使用冲突问题解决方法
  • Unity3D游戏开发培训课程大纲
  • jQuery插件ajaxFileUpload使用详解
  • me分析方法
  • 杀掉进程windows
  • javascript简明教程
  • js中面向对象编程
  • js中写html代码
  • 保险是不是跟车走
  • 土地增值税申报流程图
  • 关于涉访涉诉终结的规定
  • 电子发票开票失败怎么回事?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设