Skip to content

Instantly share code, notes, and snippets.

@ishenkoyv
Forked from juanje/Description.md
Last active August 29, 2015 14:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ishenkoyv/3f4493758673e1fd7747 to your computer and use it in GitHub Desktop.
Save ishenkoyv/3f4493758673e1fd7747 to your computer and use it in GitHub Desktop.

I was tired of Chrome eating all my laptop resources so I decided to put some limit to it with cgroup.

As I was using Ubuntu 12.04 with support for cgroup, I installed the package cgroup-bin and add the following group to the file /etc/cgconfig.conf:

group browsers {
    cpu {
#       Set the relative share of CPU resources equal to 25%
        cpu.shares = "256";
    }
    memory {
#       Allocate at most 1 GB of memory to tasks
        memory.limit_in_bytes = "1G";
#       Apply a soft limit of 512 MB to tasks
        memory.soft_limit_in_bytes = "768M";
    }
}

Then I added one new rule to the file /etc/cgrules.conf to add any new Chrome process launched by my own user (jojeda) to the cgroup browsers:

# user:process                                          subsystems      group
jojeda:/usr/lib/chromium-browser/chromium-browser       cpu,memory      browsers

And then I restarted the cgconfig service:

$ sudo service cgconfig restart

Now all the new chromium process that I'll launch with my user jojeda will be under the cgroup browsers with its memory and cpu limits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment