← Back to Labs

Linux cgroup control path

Build a subtree, hand controllers down, then watch CPU, memory, and task limits change what the kernel allows this workload to do.

Batch neighbour stays pegged at 100% CPU demand so weight and quota effects stay visible.

/sys/fs/cgroupLeaf still unconstrainedrootcgroup.procs: host managers live hereworkloads/controllers not handed to children yetinterior node, not the place to keep busy workersapi/cgroup.procs: 18422, 18423, 18424waiting for cpu controllerno hard CPU budget yetmemory pressure line not setbatch/cpu demand: 100% constant loadcpu.weight = 100no cpu.max capbackground neighbour for contentionCPU outcomeweight share: 67%delivered: 95%throttled: 0%Memory outcomecurrent: 960 MiBhigh events: 0below pressure thresholdPID outcomerunning: 44 / maxblocked forks: 0cpu.stat starts getting interesting once a quota existsmemory.events stays quiet until pressure or a hard limit appears
Step 1 / 7Start with a plain hierarchy node

A cgroup begins as a place in the tree. Nothing magical happens until tasks live there or the parent starts handing controllers down to children.

API demand now asks for 95% CPU, 960 MiB memory, and 44 tasks.

Arrow keys to navigate · R to reset

Tap dots to jump to any step

Read the full article →Take the quiz →