CGroup原理篇V11.2 CGroup的用法

Posted 高桐@BILL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CGroup原理篇V11.2 CGroup的用法相关的知识,希望对你有一定的参考价值。

一、挂载cgroup文件系统

假设我们要使用名为“cpuset”的cgroup子系统,则需要执行下面的步骤:

1.1 挂载cgroup虚拟文件系统

mount -t tmpfs cgroup_root /sys/fs/cgroup

1.2 创建cpuset cgroup层级

mkdir /sys/fs/cgroup/cpuset

1.3 挂载cpuset子系统到cpuset层级目录

mount -t cgroup -ocpuset cpuset /sys/fs/cgroup/cpuset

1.4 通过使用mkdir命令创建新的控制组或使用系统调用(或echo命令)写操作/sys/fs/cgroup/cpuset目录下相关的参数文件

1.5 启动一个新任务作为“创始人”进程

1.6 通过执行写操作将pid写入到/sys/fs/cgroup/cpuset 下的tasks文件结点上来附加任务到控制组中

1.7 创始人进城通过fork、或exec或clone等命令创建任务

二、使用案例

举个例子,下面的命令集将会设置一个名为“Charile”的控制组,仅设置使用CPU2、CPU3和内存节点1,并在该控制组下启动一个sh作为创始人进程。

详细如下:

mount -t tmpfs cgroup_root /sys/fs/cgroup
mkdir /sys/fs/cgroup/cpuset
mount -t cgroup cpuset -ocpuset /sys/fs/cgroup/cpuset
cd /sys/fs/cgroup/cpuset
mkdir Charlie
cd Charlie
/bin/echo 2-3 > cpuset.cpus
/bin/echo 1 > cpuset.mems
/bin/echo $$ > tasks
sh
# Th

以上是关于CGroup原理篇V11.2 CGroup的用法的主要内容,如果未能解决你的问题,请参考以下文章

CGroup原理篇V11.3 CGroup Kernel API介绍

CGroup原理篇V1十HugeTLB子系统

CGroup原理篇V1十一Memory子系统(Memcg)实现备忘录

CGroup原理篇V1五BLKIO子系统

CGroup原理篇V1十二Memory子系统

CGroup原理篇V1七CPUSET子系统