在实际应用或性能测试中,常常会有一些限制某类资源(可能是cpu,内存或I/O)的需求,防止出现资源泄漏影响其他应用,或者方便进行应用的性能分析。本文简单介绍一下如何方便的利用cgroup来进行这方面的设置。
在debian或ubuntu社区中,已经存在一个cgroup工具包“cgroup-bin”,在主机上安装该包后,会产生一些设置cgroup的可执行文件(cgcreate/cgset/cgexec/cgdelete),利用它们可以方便的进行cgroup设置。下面我们通过一个例子简要的介绍下用法。
本节中,我们以设置dd程序访问某块磁盘的iops和bps为例,讲解如何使用cgroup-bin工具来进行进程资源的控制。
sudo cgcreate -g blkio:test
sudo cgset -r blkio.throttle.write_iops_device='8:0 100' test
sudo cgset -r blkio.throttle.read_iops_device='8:0 100' test
上述参数配置好后,我们可以在该cgroup下执行dd进程,对应的命令为:
sudo cgexec -g blkio:test dd if=/dev/sda of=/home/dd_test iflag=direct oflag=direct bs=1M count=1024
最后,进程执行完毕,不需要该cgroup,可通过如下命令来删除:
sudo cgdelete blkio:test
网易云新用户大礼包:https://www.163yun.com/gift
本文来自网易实践者社区,经作者管强授权发布。