How to use the command cgcreate (with examples)
- Linux
- November 5, 2023
The cgcreate
command is used to create cgroups, which are used to limit, measure, and control resources used by processes. Cgroups can be of different types, such as memory, CPU, network classification, and more. The cgcreate
command allows you to create new cgroups and define their types and names.
Use case 1: Create a new group
Code:
cgcreate -g group_type:group_name
Motivation: Creating a new group using the cgcreate
command allows you to define a cgroup and specify its type and name. This is useful when you want to group processes together and control their resource usage.
Explanation:
cgcreate
is the command used to create cgroups.-g
is the option used to specify the group type and name.group_type
specifies the type of the cgroup, such as memory, CPU, or network classification.group_name
specifies the name of the cgroup.
Example output:
If you run the following command: cgcreate -g memory:mygroup
, it will create a new cgroup named “mygroup” of type “memory”. This cgroup can be used to control and monitor the memory usage of processes belonging to this group.
Use case 2: Create a new group with multiple cgroup types
Code:
cgcreate -g group_type1,group_type2:group_name
Motivation: Sometimes you may want to create a cgroup that has multiple types, allowing you to limit and control different resources for the same group of processes. For example, you may want to limit both memory and CPU usage for a specific group of processes.
Explanation:
cgcreate
is the command used to create cgroups.-g
is the option used to specify the group types and name.group_type1,group_type2
specifies multiple cgroup types separated by a comma.group_name
specifies the name of the cgroup.
Example output:
If you run the following command: cgcreate -g memory,cpu:mygroup
, it will create a new cgroup named “mygroup” with two types: “memory” and “cpu”. This cgroup can be used to limit and control both the memory and CPU usage of processes belonging to this group.
Use case 3: Create a subgroup
Code:
mkdir /sys/fs/cgroup/group_type/group_name/subgroup_name
Motivation: Sometimes you may want to create subgroups within a cgroup to further organize and control processes. Subgroups allow you to have a more granular control and assign specific resource limits to different groups of processes.
Explanation:
mkdir
is the command used to create directories in Linux./sys/fs/cgroup/group_type/group_name
is the path to the parent cgroup.subgroup_name
specifies the name of the new subgroup directory.
Example output:
If you run the following command: mkdir /sys/fs/cgroup/memory/mygroup/subgroup1
, a new subgroup named “subgroup1” will be created within the cgroup “mygroup” of type “memory”. This subgroup can be used to further organize processes and apply specific resource limits.