cgroups – use to control your cpu and memory
cgroups is a kernel feature and with userspace utilities, we can use the feature to control the cpu and memory for per process. So, lets first install the required tools.
sudo yum install libcgroup-tools
Now, we need to enable the service.
sudo systemctl enable cgconfig.service sudo systemctl enable cgred.service
cgconfig.service is to enable configuration for cgroups and
cgred.service is to enable configuration for cgroups for processes depending on the name.
Now, we will need to configure the cgroups and configure the groups for the processes. So, lets open up the configuration files and do some configuration:
Here we will use firefox as the group name and use firefox as an example to restrict the memory to 700Mb and cpu to 10%. Since we do not have any other group configured right now, so max being 1024 – 100 shares would be around 10%.
First, open up the /etc/cgconfig.conf file and add the following. You would need to replace below with your username.
group firefox {
perm {
task {
uid = ;
gid = ;
}
admin {
uid = ;
gid = ;
}
}cpu{
cpu.shares=”102″;
}
cpuset{
cpuset.cpus=0;
cpuset.mems=0;
}
memory {
memory.limit_in_bytes=”700M”;
memory.max_usage_in_bytes=”0″;
}
}
Now, we edit the /etc/cgrules.conf file and add the following:
:sandbox cpu,memory firefox
::firefox cpu,memory firefox
All done. Now, time to test.
First restart the services.
sudo systemctl restart cgconfig.service sudo systemctl restart cgred.service
Check, if the cgroup is created. Go to directory:
/sys/fs/cgroup/memory or /sys/fs/cgroup/cpu
and check directory firefox exists.
Note: You can check the cgroup mount directory with mount command to see where your cgroups are mounted.
Now, start firefox, check the pid and check the file /proc//cgroup and you should see something like this:
11:hugetlb:/
10:perf_event:/
9:blkio:/
8:net_cls:/
7:freezer:/
6:devices:/
5:memory:/firefox
4:cpuacct,cpu:/firefox
3:cpuset:/
2:name=systemd:/user.slice/user-1000.slice/session-1.scope{.linkification-ext}
and this is it.
Related articles
Related Articles:
- 2013/03/11 Firefox troubleshooting
- 2013/02/03 Taking screenshot in firefox.
- 2010/09/27 Change the firefox theme without restarting.
- 2010/07/14 Unixmen - Tips to reduce memory usage on Firefox
- 2010/06/14 FastestfoxLite - Disable prefetching and make firefox really fast.
Authored By Amit Agarwal
Amit Agarwal, Linux and Photography are my hobbies.Creative Commons Attribution 4.0 International License.