Linux cgroups (control groups) allow limiting and accounting for resources on a system, including CPU, memory, and block I/O.

learn more… | top users | synonyms

12
votes
2answers
2k views

Weight-based block IO control for VMs

I use KVM to manage my virtual machines. I am trying to limit the resources provided for VMs. I am able to limit the CPU and memory allocated for VMs using libvirt/cgroups. Now I want to control the ...
11
votes
1answer
6k views

Using Linux cgroups to balance CPU performance

I have two dual-core Linux systems installed using Linux cgroups with relatively recent kernels; one is running Debian Squeeze, the other Ubuntu 11.04 Natty Narwhal. I've gotten CPU load balancing ...
11
votes
2answers
386 views

What are the effects, if any, of scheduler priorities and policies for threads in an uncontended cpuset?

I have a Linux system where we have used cgroups to create two cpu_exclusive cpusets, A and B, and where we have migrated all user threads and all unbound kernel threads to a cgroup attached to cpuset ...
9
votes
1answer
1k views

Turning off swapping for only one process with cgroups?

I would like to turn off swapping for only one process. Swap should work as usual for the other processes. How I can implement this with cgroups?
9
votes
2answers
885 views

How to solve this memory issue gracefully?

I have a standard Linux (Debian testing) laptop, with a swap partition. I do a lot of experiments with it. Some of them are really memory hungry and the way Linux behaves by default is an issue for ...
7
votes
2answers
2k views

Use cgroup to limit the memory usage of virtualbox

I am trying to use cgroup (Control Group) to limit the memory usage of virtualbox, but it does not seem to work. My machine is: $ uname -a Linux fc.bgi 2.6.40-4.fc15.i686 #1 SMP Fri Jul 29 18:54:39 ...
7
votes
1answer
191 views

Simplest possible secure sandboxing (limited resources needed)

I'm working on a project that implements distributed simulations: arbitrary code is executed on multiple nodes and the results are later collected and aggregated. Each node is an instance of an ...
7
votes
1answer
514 views

Why are cgroups mapped differently on these two systems by systemd

I have two systems, both running customized variants of OpenSuSE 12.2 (Mantis), both running exactly the same kernel. I get two very different outputs of /proc/self/cgroup or /proc/$$/cgroup on the ...
6
votes
1answer
161 views

Do processes in cgroups have to be set every boot? If so, how to persist them?

I was reading this answer to a question on setting limits for processes by using cgroups. The sample given sets limits for a process (in the example, sshd). In the answer, the PID of the process is ...
6
votes
3answers
557 views

How to jail a fastcgi server (or a web-proxied server)?

If you have a web-server (e.g. nginx) often you use a fast-cgi server or another application-http-server for dynamic content. That means in both cases you have a nice process separation between the ...
6
votes
1answer
166 views

Can you throttle the bandwidth to a tmpfs based ramdisk?

I created a ramdisk using tmpfs as follows: sudo mount -t tmpfs -o size=1024m tmpfs /myramdisk I was looking into cgroup blkio subsystem bandwidth limits "read_bps_device" and "write_bps_device" ...
5
votes
2answers
281 views

Externaly limiting number of CPU cores used

I need to externally limit a process/session to a certain number of cores. Are there any other possibilities than CPU affinity (I don't like the need to specify the actual cores) and cgroups (hard to ...
4
votes
2answers
1k views

How to create user cgroups with systemd

I use unprivileged lxc containers in Arch Linux. Here are the basic system infos: [chb@conventiont ~]$ uname -a Linux conventiont 3.17.4-Chb #1 SMP PREEMPT Fri Nov 28 12:39:54 UTC 2014 x86_64 ...
4
votes
1answer
164 views

Executing a “fork bomb” safely

We've all seen the "fork bomb" that will render a host non-responsive, even if executed in an unprivileged shell: Warning: Do not execute the following shell script. Just don't. :(){ :|:& };: ...
4
votes
1answer
1k views

How can I configure fair bandwidth sharing between cgroups?

It's fairly easy to use tc with Stochastic Fairness Queueing (SFQ) to configure fair bandwidth sharing between flows, but an application can open multiple flows and get an unfair share of bandwidth. ...
4
votes
0answers
44 views

Does managing cgroups require root access?

I am trying to work with control groups on two different operating systems (Ubuntu and Centos). There are few concerns that I would like to ask. I am trying to create a control group using the ...
4
votes
0answers
100 views

reserve resources for admin console

My servers is often almost DOS'ed by crawlers. I have not yet managed to figure out what exactly is responsible for the high load. CPU, memory and disk IO are not at the limit (could be network ...
3
votes
2answers
126 views

Reference documentation for cgroups (control groups) settings

I'm looking for some reference documentation to explain what each of the settings are, for each control group. For example, there's cpuset.cpus, I think setting this to 0 means use all CPUs, setting ...
3
votes
2answers
816 views

cgroups: blkio.weight doesn't seem to have the expected effect

I've got 2 LXC containers with these cgroup settings: lxc.cgroup.blkio.weight = 200 lxc.cgroup.cpu.shares = 200 and lxc.cgroup.blkio.weight = 800 lxc.cgroup.cpu.shares = 800 I have verified in ...
3
votes
1answer
2k views

USB passthrough for LXC containers

PROBLEM: So I've been trying to get a usb device (primesense - the OEM reference for the Kinect) to passthrough to an LXC container so I can develop without worrying about polluting my stable system ...
3
votes
2answers
224 views

Monitor when read/write on metadata or mmaped files hit the disk

On a server hosting a wide range of websites, I often see IO becoming a bottleneck without being able to identify the processes responsible of IO operations with tools such as iotop, iostat or sar. I ...
3
votes
1answer
306 views

What priorities can be used in cgroups net_prio module?

Cgroups has a module called net_prio, and by using this module I can set the priority of network traffic generated by various applications. As you can read here, this can be achieved by setting ...
3
votes
0answers
245 views

What does hierarchy support do in cgroup?

cgroup has 2 options for memory control: memory.use_hierarchy = 1 : use hierarchy memory.use_hierarchy = 0 : use flat hierarchy, according to this answer What is the difference between the two? I ...
3
votes
0answers
556 views

cpu time measurement with wait4 vs. cpuacct cgroup

I want to start a process and measure the cpu time (user+sys) it needs until it terminates. I know I can use the wait4 system call, which returns a struct with user and system time (I use the sum of ...
3
votes
2answers
479 views

Measuring CPU and Memory per user to distribute “cost” of a server [closed]

How should I implement approximately correct per-user monitoring on a server? I want a way to split the cost of a server between the users based on their usage. On newer machines (RHEL6) I would use ...
2
votes
1answer
2k views

controlling priority of applications using cgroups

I would like to understand cgroups better and would like to understand the use-cases for applying cgroups. Are cgroups a good way for prioritizing different applications (i.e, giving higher priority ...
2
votes
3answers
293 views

Creating one-time cgroup

I would like to be able to create a one-time temporary group in hierarchy. For example: #!/bin/sh run_with_csubgroup /sys/fs/cgroup/group/subgroup/ Which creates group say ...
2
votes
2answers
122 views

Need help finding the CPU id numbers to use with cpu sets

The man for cpuset doesn't seem to clearly list how to figure out which numbers map to which processing units. My current machine has two Intel Xeon E5645s, each of which has 6 cores and ...
2
votes
0answers
95 views

How to calculate blkio shares in cgroups?

Currently I'm trying to setup a test scenario with the use of Debian Wheezy with its default kernel 3.2.60-1+deb7u3 and the cgroups blkio controller. The calculation of blkio.weight is not working for ...
2
votes
0answers
86 views

Cgroups - memory subsystem

I want to set the memory.limit_in_bytes parameter for a control group and disable OOM, so processes freeze when the limit is reached. But i want to change that limit dynamically, if there is more ...
2
votes
0answers
94 views

CGroup Processes Not Terminated even when main process has been killed through Systemctl stop command

I am running systemctl stop process command for some process. Please find the output for systemctl status process below: Loaded: loaded Active: deactivating (stop-sigterm) CGroup: ...
1
vote
2answers
540 views

How to enable swap accounting for memory cgroup in Archlinux?

On my Archlinux box I want to limit some applications to a smaller amount of memory using cgroups. Since I use swap, I need to account memory+swap. How can I enable swap accounting?
1
vote
1answer
109 views

cgroups analogue in Darwin

Is there an analogue to cgroups in Darwin for preventing processes from escaping from the control / monitoring of its parent process by means of fork()? If yes, what is it? For some background, ...
1
vote
0answers
34 views

Linux cgroups: limit CPU usage in absolute values which do not depend on CPU speed

I have a server with a 2.4GHz processor. And there are several cgroups, each one allowed to use 25% of CPU. That's equal to 600MHz. Then I replace the CPU with a faster one, let's say 3.0GHz. If I ...
1
vote
0answers
19 views

cgroup memory.usage_in_bytes always zero for some tasks

I am trying to use cgroup to manage memory on a HPC cluster using torque queue manager on CentOS 6 machines. Just to test I login to a node running a job where I have: ...
1
vote
1answer
66 views

How to ensure ssh via cgroups on centos?

When some cpu-intensive processes are running on the server, chances are that we could not log in to this machine with error 'operation timeout' via ssh command. According to this post answered by ...
1
vote
0answers
15 views

A way to set parameters in the LXC parent cgroups

So I have LXC installed, guest containers configured and all. The LXC containers each go into their own submodule (in cgroup parlance) and each are configured with cpu.shares and also the memory ...
1
vote
0answers
59 views

Limit system processes using cgroups

My server runs several dozens of processes that are not in my control (mostly monitoring software). According to my application logs, sometimes some of the third party processes try to allocate too ...
1
vote
1answer
16 views

Adding entire session to a cgroup

How would I add entire session to a cgroup. cgclassify seems to add just the specified PID.
1
vote
1answer
42 views

Distributing CPU cores between cgroups and outside world

Is it possible to manage access to CPU cores in a similar fashion that memory limiting works? In particular I need to be able to dynamically create and destroy cgroups that will limit a particular ...
1
vote
0answers
239 views

receive signal before process is being killed by OOM killer / cgroups

In our cluster, we are restricting our processes resources, e.g. memory (memory.limit_in_bytes). I think, in the end, this is also handled via the OOM killer in the Linux kernel (looks like it by ...
1
vote
0answers
133 views

Cgroups unrecognised service

I'm running the following command, after having modified my version of /etc/cgconfig.conf but get the following error (I'm running Ubuntu 14.04). Does anyone have any idea why this is the case? $ ...
1
vote
0answers
568 views

cgroups, cpuset changing the cpuset of some processes fail

I am trying to "reserve" a core on a CPU for performance measurement. I have mounted a cpuset cgroups vfs. I created two subgroups like this: /cpuset.cpu_exclusive 1 /cpuset.cpus 0-3 ...
0
votes
1answer
86 views

ubuntu lts and cgroup support in iptables [closed]

I don't understand why Ubuntu community built iptables without cgroup support and what I don't understand if community didn't make it? Maybe Ubuntu use another some way (iptables without cgroup etc)? ...
0
votes
0answers
18 views

How to mount cgroups controllers using cgconfig.conf, while systemd running

I am trying to create a basic cgroups setup on a few Fedora 20 servers (using cgconfig and cgred services). The problem is I would like to create a hierarchy with access to several ...
0
votes
1answer
18 views

How do I read from memory.pressure_level in a cgroup?

I want to see the memory pressure of the cgroup. But simple cat memory.presure_level fails. How do I know the current memory pressure of a cgroup?
0
votes
0answers
15 views

how to set cpuset/cgroup.clone_children flag to 1

I am trying to set the cpuset/cgroup.clone_children to 1 so that whenever I create a cgroup, it should by default copy all values from the parent cgroup. Also I am curious if there is a way to copy ...
0
votes
1answer
47 views

High on %wa from top command, is there any way to constrain it?

Here's my last top info before it stucks: top - 18:26:10 up 238 days, 5:43, 3 users, load average: 1782.01, 1824.47, 1680.36 Tasks: 1938 total, 1 running, 1937 sleeping, 0 stopped, 0 zombie ...
0
votes
0answers
71 views

Using Cgroups with Systemd to restrict bash cpu & memory

I want to restrict every user on my Centos 7 server who is logged in via SSH. They should not be able to use, for example, a forkbomb and kill the whole system. The superuser will have no restriction. ...
0
votes
0answers
22 views

Why my limit on CPU does not validate via cgroups

/etc/cgconfig.conf ... group memlimit { memory { memory.limit_in_bytes = 8589934592; } } group cpulimit { cpu { cpu.shares = 1024; } } /etc/cgrules.conf: ...