下载此文档

使用cgroups管理Linux磁盘io的方法.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
: .
使用cgroups 管理Linux磁盘io的方法
导读: 我们都知道Linux系统中的cgroups可用于管理cpu资源,今天小编要 给大家介绍的是如何使用cgroups管理进程磁盘io,如果你对此感兴趣的话,不 妨来了解下吧。
这个功能通过blkio子系统实现。
blkio子系统里东西很多。不过大部分都是只读的状态报告,可写的参数就 只有下面这几个:
代码如下:






这些都是用来控制进程的磁盘 io的。很明显地分成两类,其中带 “throttle 的,顾名思义就是节流阀,将流量限制在某个值下。而 “weigh僦是分配io的
权重。
“throttle 的那四个参数看名字就知道是做什么用的。拿
。先跑点 io出来
代码如下:一 一
dd if=/dev/sda of=/dev/ null &
[1 ] 2750
用 iotop 看看目前的 io
代码如下:
TID PRIO USER DISK READ DISK WRITE SWA》PINCIOMMAND
2750 be/4 root M/s B/s % % dd if=/dev/sda of=/dev/null 。。。
然后修改一下资源限制,把进程加入控制组
代码如下:
echo ‘8:0 1048576》'/sys/fs/cgroup/blkio/foo/
echo 2750 》/sys/fs/cgroup/blkio/foo/tasks
这里的 8:0 就是对应块设备的主设备号和副设备号。可以通过 ls -l 设备文 件名查看。如
代码如下:
# ls -l /dev/sda
brw-rw 。 1 root disk 8, 0 Oct 24 11:27 /dev/sda
这里的 8, 0 就是对应的设备号。所以, cgroups 可以对不同的设备做不 同的限制。然后来看看效果
代码如下:
TID PRIO USER DISK READ DISK WRITE SWA》PINCIOMMAND
2750 be/4 root K/s B/s % % dd if=/dev/sda of=/dev/null 。。。
可见,进程的每秒读取立马就降到了 1MB 左右。要解除限制,写入如“8:0 0”到文件中即可
不过需要注意的是,这种方式对小于采样间隔里产生的大量 io 是没用的。 比如,就算在 1s 内产生一个每秒写入 100M 的峰值,也不会因此

使用cgroups管理Linux磁盘io的方法 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人kunpengchaoyue
  • 文件大小99 KB
  • 时间2021-11-07
最近更新