DEV Community

Explain Cgroups like I'm five

Theofanis Despoudis on February 05, 2018

Hey, wake up its Monday, we need to explain to a 5 year old what are Cgroups and why they are important.

Collapse
 
cocoa1231 profile image
cocoa1231

Literally thinking of a five year old, the first thing that comes to mind is candy. So let's see if I can do this using candy as an analogy for resources

Imagine that your father keeps 100 (Thinking about a good candy. Um. Rainbow Nerds. I like those) packets of Rainbow Nerds with him every month. You want to eat all of those as soon as possible, but your dad doesn't let you eat all of them in one go. He only dishes out 2 packets per day for you.

In this case, your dad is restricting the amount of Rainbow Nerds (RAM, CPU, or whatever) you can have in a given amount of time.

In this analogy, you're a resource (Rainbow Nerds) hungry process and your dad is the cgroup daemon, limiting the amount of resources you can have.

Reason why this is important? Well, you don't want to overload yourself with Rainbow nerds and then vomit for 3 days straight. I've been there.